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

Как сделать, чтобы кнопки с одинаковым class не срабатывали все сразу по click в javascript?

Привет! Продолжаю мучать меню Вордпресс. Помогите пожалуйста. Есть ли какое-то простое решение?

Задача такая - нужно по первому нажатию на кнопку меню открывать подменю, а по второму закрывать. Подготовил простенький код. Всё срабатывает. Но именно, что ВСЁ. Срабатывают сразу все кнопки с одинаковым class. Или происходит неведомый глюк. Догадываюсь, что проблема в одинаковом class у всех кнопок. Но не делать же на каждую кнопку свой класс 0_о

const btn = document.querySelectorAll('.menu88'); /*Нашёл все кнопки с таким классом*/
const content = document.querySelector(".sub-menu"); /*Выбрал, что прятать*/

btn.forEach((element) => {
    element.addEventListener('click', (event) => {     /*Событие на кнопках*/
        btnClick(event);
    });
	
	element.removeEventListener('click', (event));  /* Не знаю для чего, думал может поможет удалить EventListner)) Но не помогает.*/
	
});	
	
function btnClick(event) /*Функция при нажатии*/


{ 	 
	let x = document.getElementsByClassName('sub-menu')[0];
	      if (x.style.display == "block"){
	  x.style.display = "none";
	  } else {
	 x.style.display = "block"}
    
};
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ваш ответ на вопрос

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

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