2014-10-03 80 views
0

我有一个相当长的页面主要是图像。它被分成单独的HTML页面,当用户接近页面的底部时,我使用JQuery​​来获取下一页(无限滚动)。使用Jquery定位动态加载的内容

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

虽然我已经试过呼吁​​回调这个功能和使用$(document).ajaxComplete(),这个功能似乎偶尔过早火(即图像正确加载之前),所以它没有效果,使很多新加载的图像不合适。

我能想到的唯一的事情就是使用setTimeout()之类的东西,但是这看起来有点不好意思......有没有更好的方法来做到这一点?问题可能是因为我将我的加载内容从一个地方移动到另一个地方?

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

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

有没有办法来检测时,该内容是完全加载再火的功能?

回答

0

尝试.done()事件处理

“添加处理程序当递延对象是解决被称为”。

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

+0

我不认为.done()适用于.load(),从我可以看到。 – Jacob 2014-10-03 10:00:41

0

我认为你可以在你问要加载的内容再次使用.load()内部的功能的地方要运行后追加和其它任何功能。内容已加载。看看是否有效。

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

这似乎很合乎逻辑...不幸的是,.load()事件似乎没有正确触发。 – Jacob 2014-10-03 18:00:28