[英]Execute code after all images are loaded
我想在所有图像加载后进行一些接口修复(需要保留图像的元素的高度,并使用它们更改其他元素的高度),我将load事件附加到所有图像,但是我的加载功能仅执行一次。 我尝试仅使用jQuery:
$(function() {
var $img = $('img');
var length = $img.length;
var count = 0;
function load() {
console.log(++count + ' == ' + length);
if (count == length) {
// all images loaded
}
}
$img.load(load).error(load);
});
我也尝试使用onload和onerror事件:
$img.each(function() {
this.onload = load;
this.onerror = load;
});
但是当页面加载时,我只有一个日志:
1 == 33
(我正在开发工具和禁用缓存的情况下在Xubuntu上的Chromium中进行测试)
我在这里做错了什么? 加载所有图像后如何执行代码?
听起来您应该处理window
的load
事件:
$( window ).load(function() {
// Glorious code!!
}
从文档中:“当页面完全加载包括图形时运行功能。”
页面加载完成后执行功能
$(window).load
这样,所有要素均已准备就绪,可以“衡量”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.