jQuery dane - metoda queue()
Przykład
Wyświetl długość kolejki:
function showIt() { var n = div.queue("fx"); $("span").text( n.length ); setTimeout(showIt, 100); }
Definicja i zastosowanie
queue() metoda wyświetla lub operuje na kolejce funkcji wykonywanych na dopasowanych elementach.
Gramatyka
.queue(queueName)
Parametry | Opis |
---|---|
queueName | Opcjonalne. Wartość ciągła, zawierająca nazwę sekwencji. Domyślnie jest to fx, standardowa sekwencja efektów. |
Operacje na kolejce
queue() metoda operuje na kolejce funkcji wykonywanych na dopasowanych elementach.
Gramatyka
.queue(queueName,newQueue)
Parametry | Opis |
---|---|
queueName | Opcjonalne. Wartość ciągła, zawierająca nazwę sekwencji. Domyślnie jest to fx, standardowa sekwencja efektów. |
Szczegółowe wyjaśnienie
Każdy element może mieć jedną lub kilka funkcji w kolejce dodanych przez jQuery. W większości aplikacji używa się tylko jednej kolejki (o nazwie fx). Kolejka wywołuje sekwencję działań asynchronicznie na elemencie, nie przerywając wykonywania programu. Przykładowo: wywołanie wielu metod animacji na elemencie.
$("#foo").slideUp().fadeIn();
Gdy to zdanie jest wykonywane, element natychmiast rozpoczyna swoją animację przesuwania, ale przejście rozjaśniania jest umieszczone w kolejce fx i zostanie wywołane tylko po zakończeniu animacji przesuwania.
Metoda .queue() pozwala nam bezpośrednio operować na tej kolejce funkcji. Wywołanie metody .queue() z funkcją zwrotną jest szczególnie przydatne; pozwala nam umieścić nową funkcję na końcu kolejki.
Ta cecha jest podobna do funkcji zwrotnych oferowanych przez metody animacji, ale nie wymaga ustawienia funkcji zwrotnej podczas wykonywania animacji.
$("#foo").slideUp(); $("#foo").queue(function() { alert('Animacja zakończona.'); $("this").dequeue(); });;
Równoważne:
$("#foo").slideUp(function() { alert('Animacja zakończona.'); );
Proszę zauważyć, że gdy dodajemy funkcje za pomocą .queue(), powinniśmy upewnić się, że ostatecznie wywołaliśmy .dequeue(), aby następna funkcja w kolejce mogła być uruchomiona.
Przykład 1
Operacje kolejki na niestandardowych funkcjach:
$("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(); );
Przykład 2
Ustaw tablicę kolejki, aby usunąć ją z kolejki:
$("#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(); );