Metoda dequeue
Metoda dequeue pozwala nam wykonać
następną funkcję z kolejki funkcji. Przy wywołaniu
metody funkcja jest usuwana z kolejki, a następnie
wykonywana. Funkcja musi wywołać tę metodę,
aby łańcuch funkcji mógł być wykonywany
dalej. Zobacz także metodę
queue,
która pozwala nam pracować z kolejką funkcji,
powiązanych z elementem.
Składnia
W ten sposób możemy kontynuować pracę następnych w kolejce
funkcji. Można przekazać opcjonalnym parametrem
nazwę kolejki w postaci ciągu znaków. Jeśli nie przekażesz żadnych
parametrów, to metoda będzie pracować z kolejką fx:
.dequeue([nazwa kolejki]);
Przykład
W tym przykładzie, za pomocą metody
queue,
dodamy niestandardową funkcję, która
przemaluje kwadrat na zielono, dodając klasę
newcolor. Jak widzisz, następnie tutaj
wywoływane jest dequeue, aby usunąć funkcję
z kolejki i pozwolić na wykonanie następnej:
<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();
});
Zobacz też
-
metoda
queue,
która pozwala pokazywać i zmieniać kolejkę funkcji -
metoda
clearQueue,
która pozwala usunąć wszystkie niewykonane elementy z kolejki funkcji