Metodo clearQueue
Il metodo clearQueue ci consente di rimuovere dalla
coda tutte le funzioni che non sono state eseguite.
Sintassi
Ecco come possiamo cancellare la coda delle funzioni. È possibile passare
come parametro opzionale il nome della coda
come stringa (di default fx - la coda
standard degli effetti). Se non viene passato alcun
parametro, dalla coda fx verranno rimosse tutte
le funzioni rimanenti:
.clearQueue([nome coda]);
Questo metodo è analogo al metodo
stop. Ma,
se quest'ultimo può funzionare solo con le animazioni,
clearQueue consente di lavorare con qualsiasi coda
jQuery, che sia stata aggiunta con il metodo
queue.
Esempio
Alla pressione del pulsante #start,
avvieremo l'animazione. Alla pressione del
pulsante #stop fermeremo l'animazione
e puliremo la coda utilizzando il metodo
clearQueue. Alla successiva pressione di
#start l'animazione ricomincerà da capo:
<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();
});