可能重复:
jQuery event to trigger action when a div is made visible
当ajax加载的元素变为可见(“display”从“none”切换到“block”)时,如何运行我的代码? 好吧,我需要一些像
这样的活动$('#element').live('show', function(){
// CODE
});
或者观看删除/添加某个类到元素的事件
答案 0 :(得分:3)
使用jquery-appear插件
解决了这个问题答案 1 :(得分:2)
没有任何内置的jQuery可以让你实现这一目标。您可以查看livequery plugin。例如:
$('#element').livequery(function() {
// CODE
});
当一个id =“element”的元素被添加到DOM时,应该执行回调。
答案 2 :(得分:2)
每1秒运行一次检查。如果#element
存在且可见,则清除(停止)间隔并执行代码。
var checkVisible = setInterval(function(){
// if element doesn't exist or isn't visible then end
if(!$('#element').length || !$('#element').is(':visible'))
return;
// if element does exist and is visible then stop the interval and run code
clearInterval(checkVisible);
// place your code here to run when the element becomes visible
},1000);
你不可避免地会有一些jQuery事件回调来显示元素;在那些事件回调中,你应该放置'当元素可见时'运行代码。
答案 3 :(得分:0)
您是否尝试过jQuery.load()
?
http://api.jquery.com/load-event/
它应该至少适用于图像,脚本标签等...但不适用于没有URL的元素。
否则,livequery应该有所帮助: