Код в песочницу можно?
UPD:
1. Получаем
event
и сбрасываем его.
menuToggle.addEventListener('click', function (event) {
event.preventDefault();
...
});
2.
this
меняем на
menuToggle
.
3. Меняем HTML.
<button class="menu-toggle" id="menu-toggle">
<span class="menu-toggle__span"></span>
</button>
4. Меняем CSS.
.menu-toggle {
width: 60px;
height: 60px;
padding: 0;
border: none;
display: flex;
justify-content: center;
align-items: center;
background: none;
z-index: 15;
}
.menu-toggle.active .menu-toggle__span {
background-color: transparent;
}
.menu-toggle.active .menu-toggle__span:before {
transform: rotate(45deg);
top: 0;
}
.menu-toggle.active .menu-toggle__span:after {
transform: rotate(-45deg);
top: 0;
}
Двойное событие происходило из-за
checkbox
'а внутри «кнопки».