@Shuboanator

Как сделать, что бы повторное нажатие не срабатывало пока анимация не будет завершена?

$( ".menu-btn, .menu-box-btn" ).click(function() {
    $( ".menu" ).toggleClass("menu-visible");    
});


Элементы ".menu-btn, .menu-box-btn" вызывают анимацию за счет добавления класса.
Но если во время выполнения анимации нажать еще раз, то она прерывается и идет в обратном направлении.
Как сдлеать, что бы повторное нажатие не срабатывало, пока анимация не будет выполнена до конца?
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
@glagolew059
frontend developer
$( ".menu-btn, .menu-box-btn" ).click(function() {
    var thiss = this;
    if(!$(thiss).hasClass('wait')) {
        $( ".menu" ).toggleClass("menu-visible");    
        $(thiss).addClass('wait');
        var animationDuration = 2000;
        setTimeout(function(){$(thiss).removeClass('wait')}, animationDuration);
    }
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект