Что делает clearQueue в jQuery? - PullRequest
1 голос
/ 05 октября 2010

Я читал код для плагина AutoScroll.Что здесь делает clearQueue?Или просто, что делает clearQueuein jQuery?

Ответы [ 4 ]

3 голосов
/ 05 октября 2010

Он отменяет все элементы в очереди (обычно анимации), которые еще не запускались.

Если текущая анимация (например) имеет место, это не затрагивается. Но любые элементы в очереди не будут выполняться.

В этом примере анимация height будет продолжена, но в очереди .fadeOut() не будет.

Пример: http://jsfiddle.net/sXnVj/

$('div')
    .animate({height: 500},1000)
    .fadeOut();

$('div').clearQueue();
​

Или возьмите ситуацию, когда элемент был поставлен в очередь, но никогда не снимался с очереди. Любые последующие элементы в очереди никогда не будут выполнены, если вы не очистите очередь.

Здесь .fadeOut() не произойдет:

$('div').queue(function() {});

$('div').fadeOut(2000);

Но вот оно будет:

$('div').queue(function() {});

$('div').clearQueue().fadeOut(2000);
3 голосов
/ 05 октября 2010

Описание: удалить из очереди все элементы, которые еще не были запущены.

http://api.jquery.com/clearQueue/

Этот вызов должен быть довольно эквивалентен

t.stop(true,true).fadeOut(ops.hideDuration || 200);

Единственное отличие состоит в том, что clearQueue удалит все функции из очереди (функции), тогда как .stop() будет влиять только на fx methods.

0 голосов
/ 05 октября 2010

Он не является частью плагина AutoScroll, он просто использует его из jQuery API

0 голосов
/ 05 октября 2010

Он очищает очередь вызовов функций, ожидающих выполнения, то есть функций, которые были вызваны, но еще не выполнены на данный момент. Проверьте это для получения дополнительной информации:

http://api.jquery.com/clearQueue/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...