Δεδομένα jQuery - Μέθοδος jQuery.queue()
Παράδειγμα
Εμφάνιση της μήκους της ουράς:
function showIt() { var n = div.queue("fx"); $("span").text( n.length ); setTimeout(showIt, 100); }
Ορισμός και χρήση
Η μέθοδος queue() εμφανίζει ή επεξεργάζεται την ουρά συναρτήσεων που εκτελούνται στα στοιχεία που ταιριάζουν.
Σημειώσεις:Αυτό είναι ένα μέθοδος βασικού επιπέδου; Χρησιμοποιήστε .queue() Περισσότερο εύκολη.
Γλώσσα
.queue(queueName)
Παράμετροι | Περιγραφή |
---|---|
queueName | Οπション. Χαρακτήρες μονογράμματος, περιέχουν το όνομα της σειράς. Η προεπιλογή είναι fx, η τυπική σειρά αποτελεσμάτων. |
Επεξεργασία ουράς
Η μέθοδος queue() επεξεργάζεται την ουρά συναρτήσεων που εκτελούνται στα στοιχεία που ταιριάζουν.
Γλώσσα
.queue(queueName,newQueue)
Παράμετροι | Περιγραφή |
---|---|
queueName | Οπション. Χαρακτήρες μονογράμματος, περιέχουν το όνομα της σειράς. Η προεπιλογή είναι fx, η τυπική σειρά αποτελεσμάτων. |
Λεπτομερής περιγραφή
Κάθε στοιχείο μπορεί να έχει μια ή περισσότερες ουρές συναρτήσεων που προστίθενται από το jQuery. Σε πολλές εφαρμογές, χρησιμοποιείται μόνο μια ουρά (ονομαζόμενη fx). Η ουρά εκτελεί ασynchronously μια σειρά ενεργειών στο στοιχείο χωρίς να σταματά την εκτέλεση του προγράμματος. Ένας τυπικός παράδειγμα είναι η κλήση πολλαπλών μεθόδων анимάσεων στο στοιχείο. Για παράδειγμα:
$('#foo').slideUp().fadeIn();
Όταν εκτελείται αυτή η γραμμή, το στοιχείο ξεκινά αμέσως την κίνηση συρρίκνωσης, αλλά η διαφάνεια τοποθετείται στη σειρά fx, και θα καλείται μόνο όταν ολοκληρωθεί η κίνηση συρρίκνωσης.
Η μέθοδος .queue() επιτρέπει να επεξεργαστούμε άμεσα τη σειρά των συναρτήσεων. Η κλήση της .queue() με συνάρτηση ανατροφοδότησης είναι ιδιαίτερα χρήσιμη; επιτρέπει να τοποθετήσουμε μια νέα συνάρτηση στο τέλος της σειράς.
Αυτή η λειτουργία είναι παρόμοια με τις συνάρτησεις ανατροφοδότησης που παρέχονται από τα μέθοδους αнимации, αλλά δεν χρειάζεται να ορίσουμε συνάρτηση ανατροφοδότησης κατά τη διάρκεια της εκτέλεσης της αнимации.
$('#foo').slideUp(); $('#foo').queue(function() { alert('Η αнимация ολοκληρώθηκε.'); $(this).dequeue(); });;
Ήταν ισοδύναμο:
$('#foo').slideUp(function() { alert('Η αнимация ολοκληρώθηκε.'); );
Παρακαλώ σημειώστε ότι όταν προσθέτουμε συναρτήσεις με .queue(), πρέπει να βεβαιωθούμε ότι τελικά καλούμε .dequeue(), ώστε η επόμενη συναρτηση να εκτελεστεί.
Παράδειγμα 1
Εκτελέστε σειρά για προσαρμοσμένες συναρτήσεις:
$("document.body").click(function () { $("div").show("slow"); $("div").animate({left:'+=200'},2000); $("div").queue(function () { $(this).addClass("newcolor"); $(this).dequeue(); });; $("div").animate({left:'-=200'},500); $("div").queue(function () { $(this).removeClass("newcolor"); $(this).dequeue(); });; $("div").slideUp(); );
Παράδειγμα 2
Ρροθεσιάζετε τη σειρά των στοιχείων για να αφαιρέσετε τη σειρά:
$("#start").click(function () { $("div").show("slow"); $("div").animate({left:'+=200'},5000); $("div").queue(function () { $(this).addClass("newcolor"); $(this).dequeue(); ); $("div").animate({left:'-=200'},1500); $("div").queue(function () { $(this).removeClass("newcolor"); $(this).dequeue(); ); $("div").slideUp(); ); $("#stop").click(function () { $("div").queue("fx", []); $("div").stop(); );