可以使用以下代码:
function checkImageLoaded(imageSelector, callback) {
var images = $(imageSelector);
var loadedCount = 0;
var totalCount = images.length;
images.each(function() {
if (this.complete) {
loadedCount++;
} else {
$(this).on('load', function() {
loadedCount++;
if (loadedCount === totalCount) {
callback(true);
}
});
}
});
if (loadedCount === totalCount) {
callback(true);
} else {
callback(false);
}
}
这个函数接受两个参数:imageSelector
是图片的选择器,可以是类名、ID或其他有效的jQuery选择器;callback
是回调函数,当所有图片加载完成时会调用该函数,并传入一个布尔值参数表示是否所有图片都加载完成。
使用示例:
checkImageLoaded('.my-images', function(isLoaded) {
if (isLoaded) {
console.log('所有图片加载完成');
} else {
console.log('部分或全部图片未加载完成');
}
});
这个函数会遍历所有匹配imageSelector
的图片元素,检查它们的complete
属性是否为true
,如果是则表示该图片已加载完成,计数器loadedCount
加一;如果不是,则绑定load
事件,在图片加载完成时计数器加一。最后,比较计数器loadedCount
和图片总数totalCount
,如果相等则表示所有图片都加载完成,调用回调函数并传入true
;否则,表示部分或全部图片未加载完成,调用回调函数并传入false
。
这个函数可以用于检查图片的SRCset是否加载完成,以便在需要等待图片加载完成后执行其他操作,例如调整布局或显示加载完成的提示信息。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云