• JS图片预加载


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="jquery-1.9.0.js"></script>
    <style type="text/css">
    body {
        background:#000;
    }
    
    #loader {
        margin: 0 auto;
        width: 300px;
        text-align: center;
        font-size: 25px;
        color: #efefef;
        margin-top: 300px;
    }
    #bar {
        border:1px solid #efefef;
        padding: 1px;
        margin-top: 10px;
    }
    #bar span {
        display: block;
        height: 2px;
        background: #efefef;
    }
    .main{
        text-align: center;
        font-size: 25px;
    }
    </style>
    
    </head>
    <body style="overflow:auto">
        <div id="loader">
            Loading <span id="load-text">0%</span>
            <div id="bar">
                <span>
                </span>
            </div>
        </div>
    
        <div class="main" style="display: none;">
            加载完显示的内容
        </div>
    </body>
    
    </html>
    <script type="text/javascript">
    var allImgSrcArr = new Array();
    
    addImgSrc("./img/skill/1_48.png");
    addImgSrc("./img/skill/1_50.png");
    addImgSrc("./img/skill/1_60.png");
    addImgSrc("./img/skill/1_120.png");
    addImgSrc("./img/skill/1_250.png");
    addImgSrc("./img/skill/1_500.png");
    addImgSrc("./img/skill/1_1000.png");
    addImgSrc("./img/skill/1_2000.png");
    
    
    //创建图片路径数组
    function addImgSrc(src){
        allImgSrcArr[allImgSrcArr.length] = src;
    }
    
    
    
    
    
    //=============================================================方法一
    
    
    Array.prototype.remove = function(element) {//element为图片路径
        for (var i = 0; i < this.length; i++)
            if (this[i] == element) this.splice(i,1);//this为路径数组
    };
    
    function preload(images, progress) {
        var total = images.length;
        $(images).each(function(){
            var src = this;
            $('<img/>').attr('src', src).load(function() {
                images.remove(src);
                progress(total, total - images.length);
            });
        });
    }
    
    preload(allImgSrcArr, function(total, loaded){
        if (Math.ceil(100 * loaded / total) >= 100) {
            $('#load-text').html(100 + '%');
            $('#bar span').css('width', 100 + '%');
            $('#loader').fadeOut('slow', function() {
                $("body").attr("style","background: #efefef;");
                $('.main').fadeIn('slow');
            });
        } else {
            var percent = Math.ceil(100 * loaded / total);
            $('#load-text').html(percent + '%');
            $('#bar span').css('width', percent + '%');
        }
    });
    
    
    
    
    //=============================================================方法二
    //对图片的加载不用JQuery,但图片数量大时容易内存溢出
    
    
    /*
    function LoadImageClass()
    {
        var loadImageClass = this;
        this.Idx = 0;    //已经被加载的图片个数
        this.Num = 0;    //图片总数
        //下载图片
        this.LoadImages = function()
        {
            this.Num = allImgSrcArr.length;
            DownImg();
        }
        function DownImg()
        {
            var i=new Image();
            var f = true;
            i.onload= function()
            {
                if (f)
                {
                    f = false
                    loadImageClass.Idx++;
                    if (loadImageClass.LoadIng) loadImageClass.LoadIng();
                    if (loadImageClass.Idx<loadImageClass.Num) DownImg();
                    else if(loadImageClass.CallBack) loadImageClass.CallBack(allImgSrcArr);
                }
            }
            i.src = allImgSrcArr[loadImageClass.Idx];
        }
    }
    
    var t=new LoadImageClass();
    
    t.LoadIng = function() {
        var percent = Math.ceil(100 * t.Idx/t.Num);
        $('#load-text').html(percent + '%');
        $('#bar span').css('width', percent + '%');
    };
    
    t.CallBack = function(arr)
    {
        $('#load-text').html(100 + '%');
        $('#bar span').css('width', 100 + '%');
        $('#loader').fadeOut('slow', function() {
            $("body").attr("style","background: #efefef;");
            $('.main').fadeIn('slow');
        });
    }
    
    t.LoadImages();
    
    */
    
    </script>
  • 相关阅读:
    socket注意
    PCM音频文件编码
    题外:分类篇(音乐风格分类)基于BP神经网络
    MFCC特征提取过程详解
    语音信号分析
    k-means聚类
    c++关键字详解
    vs中项目解决方案和项目的关系
    条件编译#ifdef 和#endif
    c++快捷键
  • 原文地址:https://www.cnblogs.com/dreamhome/p/2878502.html
Copyright © 2020-2023  润新知