Μέθοδος dequeue
Η μέθοδος dequeue μας επιτρέπει να εκτελέσουμε
την επόμενη συνάρτηση από την ουρά συναρτήσεων. Κατά την κλήση
της μεθόδου, η συνάρτηση αφαιρείται από την ουρά και στη συνέχεια
εκτελείται. Η συνάρτηση πρέπει να καλέσει αυτή τη μέθοδο,
ώστε η αλυσίδα συναρτήσεων να μπορεί να συνεχίσει να εκτελείται
περαιτέρω. Δείτε επίσης τη μέθοδο
queue,
που μας επιτρέπει να δουλέψουμε με την ουρά συναρτήσεων,
που είναι συνδεδεμένες με ένα στοιχείο.
Σύνταξη
Έτσι μπορούμε να συνεχίσουμε την εργασία των επόμενων στην ουρά
συναρτήσεων. Μπορούμε να περάσουμε ως προαιρετική παράμετρο
το όνομα της ουράς σε μορφή συμβολοσειράς. Εάν δεν περάσουμε καμία
παράμετρο, τότε η μέθοδος θα δουλέψει με την ουρά fx:
.dequeue([όνομα ουράς]);
Παράδειγμα
Σε αυτό το παράδειγμα, με τη βοήθεια της μεθόδου
queue,
θα προσθέσουμε μια προσαρμοσμένη συνάρτηση, που
θα ξαναβάψει το τετράγωνο σε πράσινο, προσθέτοντας την κλάση
newcolor. Όπως βλέπετε, εδώ στη συνέχεια
καλείται η dequeue, για να αφαιρέσει τη συνάρτηση
από την ουρά και να επιτρέψει στην επόμενη να εκτελεστεί:
<button id="animate">start</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();
});
Δείτε επίσης
-
μέθοδος
queue,
που επιτρέπει την εμφάνιση και αλλαγή της ουράς συναρτήσεων -
μέθοδος
clearQueue,
που επιτρέπει την αφαίρεση όλων των μη εκτελεσμένων στοιχείων από την ουρά συναρτήσεων