jQuery.queue()
54
посл. ред.
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>