有可能使jquery.live()与load一起工作吗?

时间:2011-05-05 17:07:01

标签: jquery-animate jquery

我不能让$ .live()使用“load”事件,例如:

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

详细说明:

我有一个包含ajax结果的页面。在这些ajax中,我可以使用类“animate”获得许多错误消息。所以,我希望每次浏览器加载一个带有“animate”类的元素时,浏览器会为它设置动画,使用fadeIn。

有可能吗?

2 个答案:

答案 0 :(得分:3)

您可以使用 .ajaxComplete()

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

每当Ajax请求完成时,jQuery就会触发 ajaxComplete 事件。已使用.ajaxComplete()方法注册的所有处理程序都会在此时执行。

just-a-tip:或许将其与 .ajaxSend()

结合使用
$('.animate').ajaxSend(function() {
  $(this).show().fadeOut(1000);
});

每当要发送Ajax请求时,jQuery都会触发 ajaxSend 事件。已使用.ajaxSend()方法注册的所有处理程序都会在此时执行。

答案 1 :(得分:0)

您可以确保在将元素发送到浏览器之前隐藏该元素(通过css)。然后,可以使用setTimeout(...)循环来查找隐藏的那些并开始动画。