• 简单图片预加载


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

    <!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>
  • 相关阅读:
    基于组的策略(GBP)开启新型网络设计时代
    49 多维数组(二维数组)
    48 查找
    47 排序
    46 字符数组和字符串
    45 数组应用
    44 数组
    43 C语言宏定义
    42 预处理命令
    41 函数封装练习
  • 原文地址:https://www.cnblogs.com/11lang/p/6880646.html
Copyright © 2020-2023  润新知