Metodo dequeue
Il metodo dequeue ci permette di eseguire
la funzione successiva dalla coda di funzioni. Quando viene chiamato
il metodo, la funzione viene rimossa dalla coda, e poi
eseguita. La funzione deve chiamare questo metodo,
in modo che la catena di funzioni possa continuare
a eseguirsi. Vedi anche il metodo
queue,
che ci permette di lavorare con la coda di funzioni,
associate a un elemento.
Sintassi
In questo modo possiamo continuare il lavoro delle funzioni successive
in coda. Si può passare come parametro opzionale
il nome della coda sotto forma di stringa. Se non si passano
parametri, il metodo lavorerà con la coda fx:
.dequeue([nome coda]);
Esempio
In questo esempio, con l'aiuto del metodo
queue,
aggiungeremo una funzione personalizzata che
ricolorerà il quadrato in verde, aggiungendo la classe
newcolor. Come potete vedere, qui viene poi
chiamato dequeue, per rimuovere la funzione
dalla coda e permettere l'esecuzione di quella successiva:
<button id="animate">avvia</button>
<div></div>
div {
position: absolute;
margin: 3px;
width: 50px;
height: 50px;
left: 0px;
top: 30px;
background: red;
display: none;
}
div.newcolor {
background: green;
}
$('#animate').click(function() {
$('div')
.show('slow')
.animate({left: '+=200'}, 2000)
.queue(function() {
$(this).addClass('newcolor').dequeue();
})
.animate({left: '-=200'}, 500)
.queue(function() {
$(this).removeClass('newcolor').dequeue();
})
.slideUp();
});
Vedi anche
-
metodo
queue,
che permette di mostrare e modificare la coda di funzioni -
metodo
clearQueue,
che permette di rimuovere tutti gli elementi non eseguiti dalla coda di funzioni