码迷,mamicode.com
首页 > 其他好文 > 详细

简单图片预加载

时间:2017-05-20 01:02:46      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:har   加载完成   oct   sel   one   turn   append   ade   lang   

预加载是一项被广泛使用的技术。下面简单实现下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>

</head>
<body>
    <div id="outer"></div>

    <script>
        var imgArr = [img/1.jpg,img/2.jpg,img/3.jpg,img/4.jpg],
            outer = document.getElementById(outer),
            img = document.querySelectorAll(img),
            preload = function(arr){
                var i,
                    len = imgArr.length,//要加载的图片数量
                    loaded = 0,//已加载图片数量
                    newImg = [],//图片容器
                    end = function(){},
                    //加载完成后调用的函数
                    loadImg = function(){
                        loaded++;
                        alert(又加载完了一张图片!);
                        if(loaded === len){
                            end(newImg);
                        }
                };

                for(i=0; i<len; i++){
                    newImg[i] = new Image();
                    newImg[i].src = imgArr[i];
                    

                    newImg[i].onload = (function(i){
                        console.log(document.body.innerHTML);
                        loadImg();
                        console.log(a);
                        outer.appendChild(newImg[i]);
                    })(i)
                    // img[i].src = imgArr[i];
                }

                return{
                    done: function(fn){
                        if(fn) end = fn;
                    }
                }
            };

        window.onload = function(){
            preload(imgArr).done(function(){
                alert(全部加载完);
            });
        }
        
    </script>
</body>
</html>

 

简单图片预加载

标签:har   加载完成   oct   sel   one   turn   append   ade   lang   

原文地址:http://www.cnblogs.com/11lang/p/6880646.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!