JavaScript实现图片的预加载
jopen
11年前
由于图片较大,在加载js脚本之前,最好实现图片的预加载。
function preLoadImg(){ var img = new Image(); img.src = url; }
这样子就实现了传入图片的url,图片实现预加载
但是此时图片的width 和length等皆为空,进行下一步处理。
function preLoadImg(){ var img = new Image(); img.src = url; img.onload = function(){ //图片异步加载完成,抵用callback函数 callback.call(img); //callback函数this指针切换成img } }
下一步考虑ie的兼容性
function preLoadImg(url,callback){ var img = new Image(); img.src = url; if(img.complete){ //图片已经存在于浏览器的缓存中了 并且complete兼容所有浏览器。 callback.call(img); return; } img.onload = function(){ //图片异步加载完成,抵用callback函数 callback.call(img); //callback函数this指针切换成img } }