Δεδομένα 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();
);

Προσωπική δοκιμή