Я использовал метод jQuery stop(true, true)
для очистки запущенных анимаций, чтобы немедленно запускалась следующая. Я заметил, что первый параметр clearQueue
очищает всю очередь анимации, а второй параметр jumpToEnd
выполняет переход только к концу текущей анимации, а не к тем, которые были удалены из очереди. Есть ли способ очистить его и перейти к концу всех анимаций в очереди?
Вместо этого я связал несколько stop(false, true)
вызовов, но, например, это будет обрабатывать только 3 анимации в очереди.
$(this)
.stop(false, true)
.stop(false, true)
.stop(false, true)
.addClass('hover', 200);
Изменить:
В итоге я добавил свой собственный метод, stopAll
, согласно ответу Атеса Горала :
$.fn.extend({ stopAll: function () {
while (this.queue().length > 0)
this.stop(false, true);
return this;
} });
$(this).stopAll().addClass('hover', 200);
. Надеюсь, кто-то еще найдет это полезным.