Задать вопрос

Как скрыть меню после нажатия на ссылку?

5dbe13cd345d3456852306.jpeg
Есть меню на сайте, при клике на любую из ссылок оно должно исчезать. Как реализовать на JS? С Jquery всё выходило, а с чистым JS не могу это реализовать

Вот код:
let
	btnMenu = document.getElementById('menuBtn')
	menuHeader = document.getElementById('headerMenu')
	itemMenu = document.getElementsByClassName('header-menu__link')
	
btnMenu.onclick = function() {
	if (menuHeader.style.display === 'flex') {
	   menuHeader.style.display = 'none'
	} else {
	   menuHeader.style.display = 'flex'
	}
	this.classList.toggle('menu-btn_active')
}
  • Вопрос задан
  • 566 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
like-a-boss
@like-a-boss
Признайся,тебяТянетНаКодМужика,ты—программный гей
1. Не забываем в конце строки , и ;
2. Я бы рекомендовал геттить значения ЦСС пропертиз, используя вычисленное значение getComputedStyle(elem).display
3. Без разметки не всё так очевидно. Вы же, вроде как, хотите, чтобы на itemMenu меню скрывалось, а вешаете слушатель на btnMenu. А их несколько, а именно целая HTMLCollection. Так что нужно по ним фором идти:

for (let i = 0; i < itemMenu.length; i++) {
	itemMenu[i].onclick = function() {
		if (getComputedStyle(menuHeader).display === 'flex') {
			menuHeader.style.display = 'none';
		} else {
			menuHeader.style.display = 'flex';
		}
		this.classList.toggle('menu-btn_active');
	}
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы