我不能让$ .live()使用“load”事件,例如:
$(".animate").live("load", function(){
$(this).hide().fadeIn(1000);
})
详细说明:
我有一个包含ajax结果的页面。在这些ajax中,我可以使用类“animate”获得许多错误消息。所以,我希望每次浏览器加载一个带有“animate”类的元素时,浏览器会为它设置动画,使用fadeIn。
有可能吗?
答案 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(...)循环来查找隐藏的那些并开始动画。