Я знаю, что это очень старая статья, но я объединил несколько ответов в функцию-обертку jQuery, которая поддерживает связывание.Надеюсь, это кому-то выгодно:
$.fn.queueAddClass = function(className) {
this.queue('fx', function(next) {
$(this).addClass(className);
next();
});
return this;
};
А вот обертка removeClass:
$.fn.queueRemoveClass = function(className) {
this.queue('fx', function(next) {
$(this).removeClass(className);
next();
});
return this;
};
Теперь вы можете делать такие вещи - подождите 1 секунду, добавьте .error
, подождите 3 сек, удалите .error
:
$('#div').delay(1000).queueAddClass('error').delay(2000).queueRemoveClass('error');