jQuery.queue()
34
посл. ред.
28.12.2016
Функция 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>