【发布时间】:2013-04-06 00:39:17
【问题描述】:
我想知道是否有办法检测多张图片的加载事件(特别是,当给定集合中的最后一张图片完成加载时,应该执行一个函数)。
例如,用户点击一个链接,就会出现带有 10 张图片的灯箱。加载完所有图片后,加载栏应该会消失。
jQuery(".lightbox-image").each(function(){
var image = jQuery(this);
jQuery('<img />').attr('src', image.attr('src')).load(function(){
hideLoadingBar();
});
});
不幸的是,这太早触发了hideLoadingBar();(在一张图片完成加载之后)。
附言
我还需要我的函数在图像被缓存后才能工作,所以:jQuery('#img1, #img2').load(); 将不起作用。
【问题讨论】:
-
@MohammadAdil 这正是图像已经缓存时不起作用的方法。而且我不能手动
trigger('load'),因为那样会太早执行hideLoadingBar()。 -
如果我没记错 load 总是一个 ajax req,你有没有尝试进度回调?
标签: javascript jquery image load