jQuery.queue()

Функция jQuery.queue() возвращает или преобразует очередь функций для указанного элемента. Это функция низшего уровня, на практике лучше использовать метод queue().

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

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

Варианты использования

jQuery.queue(элемент[, имя_очереди]) => Array
Возвращает очередь функций в виде массива. Если имя очереди не указано, тогда используется стандартная очередь fx.
jQuery.queue(элемент, имя_очереди, массив_функций) => jQuery
Заменяет указанную очередь на новую, которая представлена массивом функций.
jQuery.queue(элемент, имя_очереди, функция) => jQuery
Добавляет в указанную очередь заданную функцию.

Примеры

<html>
<head>
  <title>Функции библиотеки jQuery</title>
  <script type="text/javascript" src="js/jquery.js"></script>
  <style>
    div {
      width: 50px;
      height: 50px;
      position: relative;
      background: teal;
    }
    .coral {
      background: coral;
    }
  </style>
</head>
<body>
  <div></div>
  <button>Кнопка</button>
</body>
</html>
 
<script>
$('button').on('click', function() {
  $('div')
    .animate({left: '+=200'}, 'slow')
    .animate({left: '-=200'}, 'slow');

  /* Добавление новой функции в очередь 'fx' */
  $.queue(document.body.firstElementChild, 'fx', function() {
    $(this).toggleClass('coral');
    $.dequeue(this); /* запустить следующую анимацию */
  });
});
</script>