Что-то, что меня спасло, в первую очередь, это добавление простого свойства onclick к кнопке меню. Вот так:
<div onclick="toggleFunction(event)">
<span></span>
<span></span>
<span></span>
<span></span>
</div>
Затем вы помещаете свою функцию где угодно:
function toggleFunction(e){
e.target.classList.toggle('open');
}
В вашем коде также есть проблема, toggleClass от jQuery, поэтому вам нужен Jquery элемент для переключения его классов, в ванили вы можете использовать classList.toggle ('yourClass')
Если вам нужно использовать jQuery для этого, используйте свою функцию следующим образом:
$('#nav_icon_burger_x').toggleClass('open')
Внутри вашей функции addEventListener
Вы можете go дальше и сделать событие щелчка из jQuery Вот так:
$('#nav_icon_burger_x').click( function() {
$(this).toggleClass('open');
});
function toggleFunction(e){
e.target.classList.toggle('open');
}
div{
position:relative;
display:flex;
flex-direction:column;
align-items:center;
width:30px;
height:36px;
cursor:pointer;
}
span{
background-color:black;
height:10px;
width:30px;
margin-bottom:2px;
}
.open{
background-color:blue;
}
<div onclick="toggleFunction(event)">
<span></span>
<span></span>
<span></span>
</div>
Надеюсь, это поможет вам достичь вашей цели.