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