Как обработать второй клик по тому же элементу?

Классика жанра, в общем =)
Но ответ нужен исключительно на чистом JS.
При клике на элемент появляется выпадающее меню, при повторном клике на этом же элементе - исчезает. С механикой появления меню никаких проблем. Проблема именно с обработкой двух кликов по одному и тому же элементу. Грубо говоря, что-то вроде этого:
showMenu.addEventListener("click", function() {
    alert("Я показываю меню");
});

showMenu.addEventListener("click", function() {
    alert("Я убираю меню");
});

Подскажите, как такие вещи делаются? Я понимаю, что на одном и том же элементе не может быть два клика, но как-то решить проблему надо)
  • Вопрос задан
  • 8054 просмотра
Решения вопроса 1
GavriKos
@GavriKos
var isMenuShow = false;
showMenu.addEventListener("click", function() {
    if (isMenuShow )
{
    alert("Я убираю меню");
isMenuShow  = false;
}
else
{
    alert("Я показываю меню");
isMenuShow  = true;
}
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@LiguidCool
Или вводят переменную, или что чаще, меняют класс. Например добавляют - убирают класс 'active', что также позволяет управлять css.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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