【记录】JS 预加载图片
很早以前写的了,最近翻出来看,做了一下改进。
1:性能优化了。代码更简洁
2:可以使用回调函数
var loadimg=function(imgs,callback){
if(!imgs){return false};//参数判断
var img=[],
len=imgs.length;
for(var i=0;i<imgs.length;i++){
img[i]=new Image();//新建一个IMG对象
img[i].src=imgs[i];
}
img[i-1].onload= callback ? callback.apply(img) : null;
//回调函数给最后一个图片的onload事件说明全部图片加载完成。
//(我不知道这种是否正确,我看了httpwatch应该是没问题的)
//回调函数this指向全部预计在图片的数组
//这样可以在回调函数里调用刚才加载的图片
}
var imgs=["http://www.baidu.com/img/baidu_logo.gif","http://img1.gtimg.com/news/pics/25962/25962079.jpg"];//要加载的图片地址
loadimg(imgs,function(){alert(this[0].src)});