2011-12-22 79 views
2

我有一個jQuery動畫函數。只要動畫結束,就需要執行一個函數。所以必須使用回調函數。 所以我試了一下。沒有工作,我認爲必須有特定功能的問題,所以我減少它只是這個...Jquery Animate的回調函數不起作用

phGrp.animate({bottom:0}, 
       {duration: 1500, easing: 'swing'}, 
       function(){alert('hello')} 
); 

動畫工作正常,沒有錯誤,但回調將不會執行。可能是什麼問題?我看到了使用匿名函數的解決方案。所以我用它,但仍然存在問題。

請幫

回答

5

嘗試像下面,檢查它正在擺弄

phGrp.animate({bottom:0},1500,'swing', 
      function(){alert('hello'); 
     } 
); 

小提琴:http://jsfiddle.net/hYtuP/

做參考檢查鏈接:http://api.jquery.com/animate/

+0

我是多麼的愚蠢!只是錯過了一個分號。但如果我是,我怎麼沒有得到任何錯誤! – Shades88 2011-12-22 13:13:00

+0

nope你不只是缺少分號,你也給了持續時間和緩存作爲散列選項作爲第二個參數,雖然animate將它作爲第二個和第三個參數分開。 – 2011-12-22 13:15:50

+0

嗯..但如何呢,它仍然有效? – Shades88 2011-12-22 13:44:03

1

也許你不得不以這種方式致電jquery

$(document).ready(function(){ 

    // your code; 

}); 
5

的問題是,回調函數需要與選擇

.animate(properties, options)ref,選擇=持續時間,緩解,完整等)

phGrp.animate(
{ 
    bottom:0 
}, 
{ 
    duration : 1500, 
    easing : 'swing', 
    complete : function(){ alert('hello') } 
}); 
+1

你的參考資料剛剛結束了我的小時漫長的搜索,爲什麼我有這個問題。它教會了我很多關於如何格式化JQueries文檔的知識 – 2017-05-19 17:10:07

4

也是在裏面,請確保你不」在CSS中沒有任何transition規則,這讓我發瘋!