一些jQuery動畫方法的參數描述爲complete
,這是一個動畫完成後調用的函數。例如:`complete`參數的目的是什麼?
$(obj).slideUp(duration, easing, complete());
這是怎麼從如下動畫後調用complete
不同?
$(obj).slideUp(duration, easing)
.complete();
一些jQuery動畫方法的參數描述爲complete
,這是一個動畫完成後調用的函數。例如:`complete`參數的目的是什麼?
$(obj).slideUp(duration, easing, complete());
這是怎麼從如下動畫後調用complete
不同?
$(obj).slideUp(duration, easing)
.complete();
$(obj).slideUp(duration, easing, complete());
這是錯誤的。這叫complete
之前slideUp
甚至被稱爲。
$(obj).slideUp(duration, easing);
complete();
此執行slideUp
然後立即調用complete
。 slideUp
動畫可能不會(事實上,當然不會)尚未完成的時間complete
被調用。
$(obj).slideUp(duration, easing, function() {
alert('Complete!');
});
// or
$(obj).slideUp(duration, easing, complete);
// ^^ look ma, no() !
現在這是你應該如何使用它。 「完成!」將會在slideUp
動畫完成後提醒。
不同的是,在第二種情況下,complete
被動畫後立刻開始稱爲,而將它作爲回調在動畫端觸發它。
動畫其實可以asyncronous,所以JavaScript執行繼續您啓動動畫之後,因此立即調用complete()
後$(obj).slideUp(duration, easing);
不不保證動畫完成後的complete
通話將被執行後,纔開始。
而且
$(obj).slideUp(duration, easing, complete());
確實應該
$(obj).slideUp(duration, easing, complete);
事實上,在第一種情況下,我們在調用complete
功能動畫開始甚至以前!
最後,記住,第二個例子似乎是錯誤的:
$(obj).slideUp(duration, easing)
.complete();
這是鏈接通過調用slideUp
調用complete
但jQuery對象沒有complete
方法。它應該是:
$(obj).slideUp(duration, easing);
complete();
因爲它實際上是在以前的問題編輯。
不應該是'$(obj).slideUp(duration,easing,function(){complete()});' –
這是完全一樣的東西。 –
我記得它用來立即運行,除非你把它包裝在一個函數中。 –