我希望在加载所有图像后进行一些界面修复(需要保存图像的元素的高度并使用它们来更改其他元素的高度)我将加载事件附加到所有图像但我的加载函数仅执行一旦。我试着只使用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
(我正在使用Dev Tools和禁用缓存在Xubuntu上的Chromium中进行测试)
我在这里做错了什么?如何在加载所有图像后执行代码?
答案 0 :(得分:4)
答案 1 :(得分:3)
页面加载完成后执行该功能
$(window).load
这样所有元素都已到位并准备好“测量”