axrising
@axrising

Как отфильтровать закрытие элементов в JS?

Здравствуйте, как сделать чтобы при клике на следующее меню, предыдущее закрывалось а новое открывалось, буду благодарен за помощь
  • Вопрос задан
  • 130 просмотров
Решения вопроса 2
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Где-то примерно как-то так
$dropDowns.forEach((el) => {
  el.addEventListener("click", () => {
    const menu = el.querySelector('.dropdown_menu')
    if (menu.classList.contains('active')) {
      menu.classList.remove("active")
    } else {
      menu.classList.add("active")
      $dropMenus.forEach((element) => {
        if (element === menu) {
          return
        } else {
          element.classList.remove("active")
        } 
      });
    }
  });
});
Ответ написан
Tim-A-2020
@Tim-A-2020
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Kanafana
@Kanafana
$dropDowns.forEach((el) => {
  el.addEventListener("click", (e) => {
    $dropDowns.forEach( element => element.classList.remove("active") );
    e.target.classList.toggle("active");
  });
});
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы