图片预加载

    对于图片多的网站来讲,资源加载特别是图片的加载比较重要。若是图片加载过慢致使网页的渲染慢甚至让http请求超时,这会直接致使用户的体验较差,让人明显以为网页卡。chrome

所以须要将图片进行预加载,这样网页显示的时候就不会有很明显的停顿、卡着的感受。浏览器

    思路是当图片加载时,先建立一个图片对象,等图片对象彻底加载完时出发图片的的onload函数,在onload函数里面触发图片加载完后的看成函数。这样当图片显示时速度会比较快,就能够达到让人以为图片加载速度快。缓存

     ie、opera下,当图片加载过一次之后,若是再有对该图片的请求时,因为浏览器已经缓存住这张图片了,不会再发起一次新的请求,而是直接从缓存中加载过来。在ie,opera下,对于缓存图片的初始状态,与firefox和safari,chrome下是不同的,可是对onload事件的触发,倒是一致的,无论是什么浏览器。代码以下:
function loadImage(url, callback) {   
    var img = new Image(); //建立一个Image对象,实现图片的预下载    
    img.onload = function(){//图片彻底加载完后
        img.onload = null;
        callback(img);
    }
    img.src = url;
}函数

相关文章
相关标签/搜索