JSFiddle - React, Tailwind, and code Playground
HTML
<div class="container">
<div class="burger-contain">
<div id="line-1" class="line"></div>
<div id="line-2" class="line"></div>
<div id="line-3" class="line"></div>
</div>
</div>
SCSS
.line{
height: 10px;
width: 100px;
margin: 10px;
background-color:red;
}
@keyframes firstChild {
0% {transform: translateY(0);}
50% {transform: translateY(10px);}
100% {transform: rotate(-45deg);}
}
@keyframes firstChild2 {
0% {transform: rotate(-45deg);}
50% {transform: translateY(10px);}
100% {transform: rotate(0deg);}
}
.animate {
animation-name: firstChild;
transform-origin: 30px 25px;
animation-duration: 0.5s;
animation-fill-mode: forwards;
}
.reverse {
animation-name: firstChild2;
transform-origin: 30px 25px;
animation-duration: 0.5s;
}
JavaScript
$(document).ready(function(){
var line = $(".line");
var burger = $(".burger-contain")
var toggled = false;
burger.click(function(){
triggerAnimation();
});
function triggerAnimation(){
if (toggled === false){
line.removeClass("reverse");
line.addClass("animate");
toggled = true;
} else {
line.removeClass("animate");
line.addClass("reverse");
toggled = false;
}
}
});