Metoda clearQueue
Metoda clearQueue pozwala nam usunąć z
kolejki wszystkie funkcje, które nie zostały uruchomione.
Składnia
W ten sposób możemy wyczyścić kolejkę funkcji. Można przekazać
opcjonalny parametr nazwy kolejki
w postaci ciągu znaków (domyślnie fx - standardowa
kolejka efektów). Jeśli nie przekażesz żadnych
parametrów, to z kolejki fx zostaną usunięte wszystkie
pozostałe funkcje:
.clearQueue([nazwa kolejki]);
Ta metoda jest analogiczna do metody
stop. Ale,
jeśli ta ostatnia może działać tylko z animacją, to
clearQueue pozwala pracować z dowolną kolejką
jQuery, która została dodana metodą
queue.
Przykład
Po naciśnięciu przycisku #start,
uruchomimy animację. Po naciśnięciu
przycisku #stop zatrzymamy animację
i wyczyścimy kolejkę za pomocą metody
clearQueue. Po ponownym naciśnięciu
#start animacja rozpocznie się od nowa:
<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();
});