Альтернатива .delay()

389
16 января 2017, 22:14

Насколько я понимаю, .delay() не работает с .addClass и .removeClass, как можно реализовать подобие вот такой конструкции:

$('.element_1').click(function(){
    $(this).addClass('element_2').delay(1000).removeClass('element_2'); 
});

Чтобы при клике добавлялся класс, а затем удалялся и при повторном клике на элемент происходило тоже самое. .toggleClass в этом случае не подходит.

Суть в том, что после клика происходит CSS анимация через @keyframes.

Answer 1

Разобрался, получился следующий скрипт:

    $('.element_1').click(function(){
       $(this).addClass('element_2'); //Добавяляем класс элемнету
       setTimeout(function(){ // Устанавливаем задержку
            $('.element_1').removeClass('element_2'); //Удаляем элемент
       }, 1000); //1000 - одна секунда
     });
READ ALSO
Замыкание в JavaScript [дубликат]

Замыкание в JavaScript [дубликат]

На данный вопрос уже ответили:

355
Как можно упростить этот код JavaScript?

Как можно упростить этот код JavaScript?

Код неплохой, но единственное, что я сделал бы:

321
(Mongoose) В чем причина ошибки: “Hex is not a function?”

(Mongoose) В чем причина ошибки: “Hex is not a function?”

При вызове ObjectId выдает ошибку: Type error: hex is not a function

358