2011-01-11 93 views
2

在我的網頁我有多個div的與類名當然。然後有一個div本身與編號dateFormjQuery的鏈式動畫與appendTo()

我想要做的是將dateForm附加到我點擊的課程 div的任何實例中。它應該做的是從當前位置淡出,移動(appendTo)到它的新位置,然後淡入。

然而,它始終自身附加到新的位置,然後淡出,並英寸消失之前,任何想法,爲什麼鏈條不工作?我嘗試過延遲,我嘗試將appendTo移動到另一個方法中,並在fadeOut的回調中調用它,但沒有任何效果。我甚至嘗試在淡出後插入一個alert(),但是alert()消息在fadeOut函數運行之前出現。有任何想法嗎?

  $(".course").click(function() { 
      $("#dateForm").fadeOut("slow").appendTo($(this)).fadeIn("slow"); 
      }); 

回答

4

問題是fadeOut在動畫結束之前立即返回。您應該使用回調參數在動畫完成後運行代碼:

$('.course').click(function(e){ 
    $("#dateForm").fadeOut("slow", function() { // code to run after the fadeOut is complete 
     $(this).appendTo(e.target).fadeIn('slow'); 
    }) 
}); 
+0

哇,這完全有效。我從來沒有使用函數(e),但是我創建了自己的函數,將appendTo插入該函數,然後在fadeOut回調函數中調用該函數,但那沒有奏效。謝謝! – kd7iwp 2011-01-11 00:09:23