2011-05-05 34 views
1

我不能讓$ .live()的 「加載」 事件的工作,如:這使得jquery.live()與負載工作?

$(".animate").live("load", function(){ 
    $(this).hide().fadeIn(1000); 
}) 

詳情:

我有AJAX結果的頁面。在這些ajax中,我可以用類「animate」生成許多錯誤消息。所以,我希望每次瀏覽器加載帶有「動畫」類的元素時,瀏覽器都會爲其添加動畫,並使用淡入淡出。

有可能嗎?

回答

3

每當一個Ajax請求完成後,你可以用.ajaxComplete()

$('.animate').ajaxComplete(function() { 
    $(this).hide().fadeIn(1000); 
}); 

做,jQuery的觸發ajaxComplete事件。任何和所有已在.ajaxComplete()方法中註冊的處理程序都會在此時執行。

只是-A-提示:也許.ajaxSend()

$('.animate').ajaxSend(function() { 
    $(this).show().fadeOut(1000); 
}); 

每當一個Ajax請求即將發送結合起來,jQuery的觸發ajaxSend事件。任何和所有已使用.ajaxSend()方法註冊的處理程序都會在此時執行。

+1

需要調整一點點,取決於_which_ AJAX請求已完成,但否則是一種好方法。 – 2011-05-05 17:26:46

0

在發送到瀏覽器之前,可以確保元素被隱藏(通過css)。然後,可以使用setTimeout(...)循環來查找隱藏並開始動畫的那些循環。