Animated Burger Icon

A sample example of creating a burger Icon

by Raghvendra Singh

HTML

<a id="nav-burger" href="javascript:void(0)">
    <span class= "span1"></span>
    <span class= "span2"></span>
    <span class= "span3"></span>
</a>

CSS

#nav-burger .span2, #nav-burger .span1, #nav-burger .span3 {
    cursor: pointer;
    border-radius: 1px;
    height: 3px;
    top:12px;
    width: 24px;
    background: #000000;
    position: absolute;
    display: block;
    content: '';
}

#nav-burger .span1 {
    top: 0px;
}

#nav-burger .span2 {
    top: 6px;
}
#nav-burger .span3 {
    bottom: -30px; 
}

#nav-burger .span2, #nav-burger .span1, #nav-burger .span3             {
    transition: all 500ms ease-in-out;
}
#nav-burger.active .span2 {
    height:0px;
}

#nav-burger.active .span1, #nav-burger.active .span3 {
    top: 6px;
}
#nav-burger.active .span1 {
    transform: rotate(45deg);
}
#nav-burger.active .span3 {
    transform: rotate(-45deg);
}

#nav-burger {
    position: fixed;
    right: 70px;
    top: 40px;
    z-index: 100;   
    height: 35px;
    width: 35px;
}

JavaScript

document.querySelector( "#nav-burger" ).addEventListener( "click", function() {        
   this.classList.toggle( "active" );
   if($("#nav-burger").hasClass("active")){        
       //Your code for opening menu etc
   }else {
      //Your code on closing of this icon    
   }
});