方法:多张图片的预加载
function preload(arr){
var newimages=[], loadedimages=0
var postaction=function(){} //此处增加了一个postaction函数
if(arr.length == 0) setTimeout(()=>{postaction(newimages)},5)
function imageloadpost(){
loadedimages++
if (loadedimages==arr.length){
postaction(newimages) //加载完成用我们调用postaction函数并将newimages数组做为参数传递进去
}
}
for (var i=0; i<arr.length; i++){
newimages[i] = new Image()
newimages[i].src=arr[i]
newimages[i].onload=function(){
imageloadpost()
}
newimages[i].onerror=function(){
imageloadpost()
}
}
return { //此处返回一个空白对象的done方法
done:function(f){
postaction=f || postaction
}
}
}
网友评论