【记录】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)});

 

 

 

 

 

 

你可能感兴趣的:(js)