Скрытие nav по нажатию на элемент <li> в меню
Вроде всё должно работать, но нет
// Берём кнопку
let btnMenu = document.querySelector(".btn-menu");
// Берём меню
let ulMenu = document.querySelector(".menu");
let closeMenu = document.querySelector(".closeMenu")
// Обработка события нажатия на кнопку
btnMenu.addEventListener("click", function () {
// Переключаем класс меню
ulMenu.classList.toggle("show-menu");
// Переключаем класс кнопки
btnMenu.classList.toggle("btn-show-menu")
})
closeMenu.addEventListener("click", function(){
// Переключаем класс меню
ulMenu.classList.toggle("show-menu");
// Переключаем класс кнопки
btnMenu.classList.toggle("btn-show-menu")
})
nav {
position: absolute;
font-size: 7vw;
z-index: 100;
}
ul {
position: absolute;
list-style: none;
padding: 0;
width: 600px;
height: 100vh;
background-color: green;
margin-top: 0;
left: -600px;
transition: 500ms;
}
.btn-menu {
width: 40px;
height: 40px;
position: relative;
background-color: orange;
}
li {
padding: 10px 0;
text-align: center;
}
li a {
color: white;
text-decoration: none;
}
.show-menu {
left: 0;
}
div.btn-show-menu {
background-color: blue;
}
}
<nav>
<ul class="menu">
<li><a href="#main">Главная</a></li>
<li><a href="#company">О компании</a></li>
<li><a href="#services">Услуги</a></li>
<li><a href="#objects">Объекты</a></li>
<li><a href="#guarantees">Гарантии</a></li>
<li><a href="#licenses">Лицензии</a></li>
<li><a href="#contacts">Связь</a></li>
</ul>
<div class="btn-menu"></div>
</nav>
Источник: Stack Overflow на русском