jQuery stop(true, true)для перехода к концу всех анимаций в очереди

Я использовал метод 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);

. Надеюсь, кто-то еще найдет это полезным.

10
задан Jesse 17 March 2012 в 06:02
поделиться