jQuery addClass example

Change class name on click in jQuery

HTML

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js"></script>
<nav class="navbar navbar-expand-lg navbar-light bg-white">
  <a class="navbar-brand" href="#">Navbar</a>
  <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
  </button>
  <div class="collapse navbar-collapse" id="navbarNav">
    <ul class="navbar-nav">
      <li class="nav-item active">
        <a class="nav-link" href="#">Home</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">About</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Services</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Contact</a>
      </li>
    </ul>
  </div>
</nav>

SCSS

/* remove navbar button stying */
.navbar-toggler {
  background: none;
  border: none;
  
  /* remove the blue outline when active or focused */
  &:active, &:focus {
    outline: 0;
  }
  
  /* basic styles for each icon bar */
  .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    margin: 4px 0 4px 0;
    transition: all 0.2s;
    
    /* custom .navbar-dark .icon-bar background */
    .navbar-dark & {
      background: red;
      
    }
    
    /* .navbar open top .icon-bar rotated down 45° */
    &:nth-of-type(1) {
      transform: rotate(45deg);
      transform-origin: 10% 10%;
    }
    
    /* .navbar open middle .icon-bar invisible */
    &:nth-of-type(2) {
      opacity: 0;
      filter: alpha(opacity=0);
    }
    
    /* .navbar open bottom .icon-bar rotated up 45° */
    &:nth-of-type(3) {
	    transform: rotate(-45deg);
	    transform-origin: 10% 90%;
    }
    
  }
  
  /* styles for when .navbar is closed */
  &.collapsed {
    
    .icon-bar {
      
      /* .navbar closed top .icon-bar no rotation - straight */
      &:nth-of-type(1) {
	      transform: rotate(0);
      }
      
      /* .navbar open middle .icon-bar visible */
      &:nth-of-type(2) {
	      opacity: 1;
	      filter: alpha(opacity=100);
      }
      
      /* .navbar open bottom .icon-bar no rotation - straight */
      &:nth-of-type(3) {
	      transform: rotate(0);
      }
      
    }
    
  }
  
}