2009-10-02 67 views
0

動畫結束後,我無法調用回調。這裏是我的動畫功能:爲什麼不把回調傳遞給jQuery的animate()方法?

function animate(parentElement, callback) 
{ 
     parentElement.animate({ 
      "height" : "hide", "opacity" : 0.0 
     }, { duration : "slow"}, "linear", callback); 
} 

這裏是調用它:

animate($(this).parent(), function() { alert('test'); }); 

警報不顯示了,爲什麼?

+0

爲什麼你傳遞'{duration:「slow」}'作爲第二個參數?應該只是一個字符串,例如''慢「',或者一個代表確切持續時間的數字,以毫秒爲單位。 – Shog9 2009-10-02 20:25:56

+0

我不在乎它=) – Ockonal 2009-10-02 20:27:12

+0

你可能應該... – Shog9 2009-10-02 20:35:21

回答

3

這是你的問題:

parentElement.animate({ 
     "height" : "hide", "opacity" : 0.0 
    }, { duration : "slow"}, "linear", callback); 

這第二個參數? It's supposed to be either a string or a number。當你傳入一個對象時,jQuery不知道如何處理它。切換到這個:

parentElement.animate({ 
     "height" : "hide", "opacity" : 0.0 
    }, "slow", "linear", callback); 

...它會工作得很好。

+0

死了。我只是想通了,後來發現......讓你更聰明,更快= P – 2009-10-02 20:38:04

+0

嗯......這真的是我的問題。謝謝。 – Ockonal 2009-10-02 20:38:50

相關問題