Метод clearQueue
Методът clearQueue ни позволява да премахнем от
опашката всички функции, които не са били стартирани.
Синтаксис
Ето как можем да изчистим опашката от функции. Може да се подаде
незадължителен параметър име на опашката
под формата на низ (по подразбиране fx - стандартната
опашка за ефекти). Ако не се подават никакви
параметри, то от опашката fx ще бъдат премахнати всички
оставащи функции:
.clearQueue([име на опашката]);
Този метод е аналогичен на метода
stop. Но,
ако последният може да работи само с анимации, то
clearQueue позволява работа с всяка опашка
jQuery, която е добавена с метода
queue.
Пример
При натискане на бутона #start,
нека стартираме анимация. При натискане на
бутона #stop ще спрем анимацията
и ще изчистим опашката с помощта на метода
clearQueue. При повторно натискане на
#start анимацията ще започне отново:
<button id="start">start</button>
<button id="stop">stop</button>
<div></div>
div {
position: absolute;
margin: 3px;
width: 50px;
height: 50px;
left: 0px;
top: 30px;
background: red;
display: none;
}
div.newcolor {
background: green;
}
$('#start').click(function() {
let myDiv = $('div');
myDiv.show('slow');
myDiv.animate({
left: '+=200'
}, 5000);
myDiv.queue(function() {
let that = $(this);
that.addClass('newcolor');
that.dequeue();
});
myDiv.animate({
left: '-=200'
}, 1500);
myDiv.queue(function() {
let that = $(this);
that.removeClass('newcolor');
that.dequeue();
});
myDiv.slideUp();
});
$('#stop').click(function() {
let myDiv = $('div');
myDiv.clearQueue();
myDiv.stop();
});