staram $('somediv').fadeOut.remove();
ale tylko usunąć go, Bang ... to nie czekać na ładnym wyciszenia, a następnie usunąćsekwencja jquery Fadeout a następnie usunąć
dlaczego .. jak szanować wyciszenia i następnie usunąć. .
staram $('somediv').fadeOut.remove();
ale tylko usunąć go, Bang ... to nie czekać na ładnym wyciszenia, a następnie usunąćsekwencja jquery Fadeout a następnie usunąć
dlaczego .. jak szanować wyciszenia i następnie usunąć. .
Użyj callback:
$('somediv').fadeOut(function() { $(this).remove(); });
Kod w funkcji zwrotnej jesteś przechodzącej do fadeOut()
(docs) nie będzie wykonywał aż animacja jest zakończona.
Przykład:http://jsfiddle.net/p2LWE/
Alternatywą byłoby queue()
(docs)remove()
(docs), ale myślę, że lepiej jest zwrotna.
W łańcuchu jQuery, jedna część łańcucha nie czeka na zakończenie innych części, jeśli istnieje składnik oparty na czasie. Więc jeśli chcesz, aby coś się wydarzyło, gdy kończy się coś innego, musisz użyć callbacków. W takim przypadku należy wywołać fadeOut()
z parametrem określającym, która funkcja ma zostać uruchomiona po zakończeniu. Tak:
$('#somediv').fadeOut(function(){ $(this).remove(); })};
Więc kiedy fadeOut()
odbywa się (i można dodać wiodącą parametr, który dyktuje jak długo to zajmie, albo w milisekundach lub „szybki”, „normalne” lub „wolny”), wywoła funkcję, która ma wartość remove()
.
Oto prosty sposób,
$('#somediv').fadeOut(300,function(){ $(this).remove(); })};
lub
$('#somediv').fadeOut("slow",function(){ $(this).remove(); })};
i gdzie chcesz dodać "wolno" parametr "usuń"? – armen
@armen: $ ('somediv'). FadeOut ('slow', function() {$ (this) .remove();}); – Merijn