我一页上有 4 张图片。我想在所有 4 个图像加载完毕后触发 JS 事件。我当然无法确定图像将以哪个顺序加载,因此我无法在最后一个图像上触发事件。一个想法是有一个计数器,但我想不出检查该计数器何时等于 4 的最佳方法,因为我不喜欢 setTimeout() 每 200 毫秒检查一次的想法。
还有其他想法吗?
我在网站上使用 jQuery,所以我想这可能会有所帮助。
这是图像 HTML 代码:
<img src="/images/hp_image-1.jpg" width="553" height="180" id="featureImg1" />
<img src="/images/hp_image-2.jpg" width="553" height="180" id="featureImg2" />
<img src="/images/hp_image-3.jpg" width="553" height="180" id="featureImg3" />
<img src="/images/hp_image-4.jpg" width="553" height="180" id="featureImg4" />
至于咸的例子 https://stackoverflow.com/a/414980/44084,最好使用闭包来避免全局变量,如下所示:
$("img").load(function() {
var count = 0, numImages = $("img").size();
return function () {
if (++count === numImages) {
//All images have loaded
}
};
}());
[Edit]
As per 杰罗恩的评论 https://stackoverflow.com/users/42139/jeroen,我替换了硬编码值 4 (count === 4
)与 jQuerysize
功能,以允许功能内具有更大的灵活性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)