jQuery δεδομένα - μέθοδος queue()
Παράδειγμα
Εμφάνιση της μήκους της ουράς:
function showIt() { var n = div.queue("fx"); $("span").text( n.length ); setTimeout(showIt, 100); }
Ορισμός και χρήση
Η μέθοδος queue() εμφανίζει ή操作ει την ουρά λειτουργιών που εκτελούνται στα στοιχεία που ταιριάζουν.
Γλώσσα
.queue(queueName)
Παράμετροι | Περιγραφή |
---|---|
queueName | Οptional. Αξία字符串, περιέχει το όνομα της σειράς. Η προεπιλεγμένη είναι fx, η τυπική σειρά αποτελεσμάτων. |
Εκτέλεση ουράς
Η μέθοδος queue()操作ει την ουρά λειτουργιών που εκτελούνται στα στοιχεία που ταιριάζουν.
Γλώσσα
.queue(queueName,newQueue)
Παράμετροι | Περιγραφή |
---|---|
queueName | Οptional. Αξία字符串, περιέχει το όνομα της σειράς. Η προεπιλεγμένη είναι 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(); );