www.jQueryBook.ru - jQuery документация

 

 

 

 



  • Категории: Effects › Custom ,  Data ,  Utilities

    .clearQueue()

    Удаляет из очереди все еще не начавшие воспроизводиться анимационные эффекты, а также функции, установленные с помощью метода .queue(), для всех элементов набора jQuery.

Синтаксис и описание:

  • Добавлено в jQuery 1.4.clearQueue( [ queueName ] )

  • Команда .clearQueue() удаляет из указанной очереди все ещё не выполненные функции — как встроенные анимационные эффекты, так и произвольные функции, добавленные вручную через .queue().

Возвращаемое значение: (объект) Набор jQuery.

Параметры:

  • queueName – (строка) Необязательный параметр. Имя очереди, которую нужно очистить. По умолчанию — "fx" (стандартная очередь анимационных эффектов).

  1. Примечание:

    Отличие от .stop(true): оба убирают из очереди fx ещё не начатые эффекты, но .stop() вдобавок останавливает текущую анимацию на месте (.stop(true, true) — с переходом в конечное состояние). .clearQueue() текущий эффект не трогает — он доиграет до конца, — а просто выбрасывает ожидающие функции, в том числе из произвольных именованных очередей, не связанных с анимацией.

  2. Примечание:

    Функция, которая уже выполняется в момент вызова .clearQueue(), продолжит работу до конца — очищаются только те, что ещё ждут своей очереди.

  3. В jQuery 3.x и 4.0:

    Метод не деприкейчен и не менялся. Как часть системы очередей, в slim-сборке недоступен: эффектов там нет с jQuery 3.0, а с 4.0 из slim дополнительно убраны сами модули deferred/queue — .clearQueue() для произвольных очередей в slim-сборке 4.0 тоже не будет работать.

Примеры:

  1. Остановить накопившиеся анимации по клику — не проигрывать всю очередь эффектов.

    $('#box').on('mouseenter', function() {
      $(this).clearQueue().animate({ opacity: 1 }, 200);
    });
  2. Очистка именованной пользовательской очереди, не связанной с анимацией.

    $('#slide').queue('steps', function(next) {
      console.log('Шаг 1');
      next();
    }).queue('steps', function(next) {
      console.log('Шаг 2');
      next();
    });
    
    // Отменить оставшиеся шаги, если пользователь прервал сценарий:
    $('#slide').clearQueue('steps');

[ наверх ]









 




Справочник по jQuery JavaScript API на русском языке