首页 > 其他 > 详细

图片预加载

时间:2018-01-22 13:33:56      阅读:207      评论:0      收藏:0      [点我收藏+]
//图片预加载
(function ($) {
    //imgs图片数组,参数
    function PreLoad(imgs,options){
        //传进来的如果是字符串,转成数组
        this.imgs = (typeof imgs === ‘string‘) ? [imgs] :imgs;
        //将options和default融合生成一个对象,将option覆盖default的内容声称对象。
        this.opts = $.extend({},PreLoad.DEFAULTS,options);

        this._unoredered();
    }
    
    //默认变量
    PreLoad.DEFAULTS = {
        each:null,//每一张图片加载完毕之后执行
        all:null//所有图片加载完毕之后执行
    }
    //无序加载
    PreLoad.prototype._unoredered = function(){
        var imgs = this.imgs,
            opts = this.opts,
            count = 0,
            len = imgs.length;

        $.each(imgs, function (i,src){
            //如果不是src就return
            if (typeof src!=‘string‘) return;
            
            var imgObj = new Image();

            $(imgObj).on(‘load error‘, function () {
                //$progress.html(Math.round((count+1)/len * 100) + ‘%‘);
                opts.each && opts.each(count);

                if(count >= len-1){
                    opts.all && opts.all();
                    //$(‘.loading‘).hide();
                }
                count++;
            });

            imgObj.src = src;
        });
    }

    $.extend({
        PreLoad:function(imgs,opts){
            new PreLoad(imgs,opts);
        }
    });
})(jQuery);

 

图片预加载

原文:https://www.cnblogs.com/wanf/p/8328507.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!