function preload(callback) {
var imageObj = new Image();
images = new Array();
images[0]="pre_image1.jpg";
images[1]=" pre_image2.jpg";
images[2]=" pre_image3.jpg";
for(var i=0; i<=2; i++) {
imageObj.src=images[i];
if (imageObj.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数
callback.call(imageObj);
} else {
imageObj.onload = function () {// 图片下载完毕时异步调用 callback 函数
callback.call(imageObj);// 将回调函数的 this 替换为 Image 对象
};
}
}
}
function callback(){
alert(this.src + “已经加载完毕 , 可以在这里继续预加载下一组图片”);
}
CSS(background)、JS(Image)、HTML(<img />)都可以。常用的是new Image();,设置其src来实现预载,再使用onload方法回调预载完成事件。只要浏览器把图片下载到本地,同样的src就会使用缓存,这是最基本也是最实用的预载方法