我如何等待動畫在jQuery中完成?如何等到jQuery特效完成?
function foo() {
$("#element").fadeOut();
}
我需要因爲調用代碼預計DOM是自由的#element
的.fadeOut()
之前foo()
返回完成。
我如何等待動畫在jQuery中完成?如何等到jQuery特效完成?
function foo() {
$("#element").fadeOut();
}
我需要因爲調用代碼預計DOM是自由的#element
的.fadeOut()
之前foo()
返回完成。
所有jQuery動畫函數都有一個complete
回調。因爲他們是異步的你不能等待他們,你必須使用回調。
function foo() {
$("#element").fadeOut(function() {
// finished
});
}
的jQuery淡出定義爲:.fadeOut([duration ] [, complete ])
,所以使用回調應該只是正常工作。
complete類型:Function()動畫爲 的函數完成,每個匹配元素調用一次。
使用一個回調函數,這個
function foo() {
$("#element").fadeOut('slow', function(){
// called when the element finishes fading out
});
}
您不能防止foo
從動畫完成之前返回。您需要使用回調或承諾/延期模式。下面是一個回調可以工作:
function bar() {
foo(function() {
// stuff to execute after foo()
});
}
function foo(callback) {
$("#element").fadeOut('speed', callback);
}
$('#element').fadeOut(1000, function() {
// after 1 second do something
});
歡迎#1,請加一點解釋。 – Robert
'$( 「#元素」)淡出(函數(){//做你的東西});' –