使用Jquery定位动态加载的内容

时间:2014-10-03 09:44:40

标签: jquery ajax infinite-scroll dynamically-generated

我有一个相当长的页面,主要是图像。它被分解为单独的HTML页面,当用户靠近页面底部时,我使用JQuery .load()来获取下一页(无限滚动)。

但是,加载此内容时遇到了一些问题。我的所有图像(出于各种原因)都使用Jquery函数定位。

虽然我尝试在.load()的回调中调用此函数并在.ajaxComplete()上使用$(document),但此功能偶尔似乎会过早发布(即图像正确加载之前) ,因此它没有效果,使许多新加载的图像不合适。

我唯一能想到的就是使用setTimeout()或者其他东西,但这看起来有点笨拙......有没有更好的方法呢?问题可能是因为我将加载的内容从一个地方移动到另一个地方?

这是我的加载代码......

$('#load-area').load(content_to_load, function() {
        var loaded_content = $('#load-area').html();
        $('#load-wrapper').append(loaded_content);
        $('#load-area').empty();
        $('#loading2').hide()
});

有没有办法检测此内容何时完全加载然后触发函数?

2 个答案:

答案 0 :(得分:0)

尝试 .done() eventhandler

"添加要在解析Deferred对象时调用的处理程序。"

来源: http://api.jquery.com/deferred.done/

答案 1 :(得分:0)

我认为您可以再次对要求加载的内容使用.load()。在该函数内部放置附加内容以及在内容加载后要运行的任何其他函数。看看是否有效。

$('#content-loaded-in').load(function{
   //code to be run after completely loaded 
});