function preload(imgs, callback, end) {
var len = imgs.length;
var loaded = 0;
for (var i = 0; i < len; i++) {
(function(i) {
var img = new Image();
img.onerror = img.onload = function() {
loaded++;
end ? loaded === len && callback(loaded, i) : callback(loaded, i)
};
img.src = imgs[i];
})(i);
}
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
preload(imgs, callback, end)中imgs应该指要加载的图片路径数组,把你要预加载的图片路径写在一个数组中带入就好,callback这个函数,如果end为true,所有图片加载完后执行回调preload(imgsArr,cb,true),如果end为false,每张图片加载完后就执行回调preload(imgsArr,cb,false),希望对你有帮助。
这个函数有问题,当图片加载失败的时候。loaded也会加1.这样就造成loaded统计错误。后面的程序就没办法做了
楼上有人讲了调用方法,我安利下自己写的预加载组件吧
https://github.com/jayZOU/preload