我正在尝试编写一个插件,其中包含一个内置功能,在执行自身之前等待页面上的所有图像加载完成。如果通过AJAX拉取包含图像的HTML,则
$(window).load()
仅在页面的初始加载时起作用,但是它不适用于后来加载的图像。有没有好方法可以做到这一点,并且实现自包含在插件中?我已经尝试过循环使用$('img').complete
,但我知道那行不通(图像永远不会加载,并且浏览器崩溃了“脚本执行时间过长”的错误)。访问我想要放置插件的页面的示例,请单击导航栏上的“more uses”部分:http://www.simplesli.de。您将看到图像幻灯片无法正确加载。我知道当前的代码不起作用,但只是为了占位,直到我找到解决方案。编辑:尝试此解决方案,但它不起作用:
if($('.simpleSlide-slide img').size() > 0) {
var loaded_materials = $('.simpleSlide-slide img').get();
} else {
var loaded_materials = $('.simpleSlide-slide').get();
}
$(loaded_materials).live('load', function() {
/* Image processing and loading code */
});
$('img').one('load', function(){
。 - Bob Stein