素材牛VIP会员
写h5图片太多,想做预加载,能帮忙看看这个函数怎么调用嘛?
 错***7  分类:Html5  人气:903  回帖:3  发布于6年前 收藏
function preload(imgs, callback, end) {
        var len = imgs.length;
        var loaded = 0;
        for (var i = 0; i < len; i++) {
            (function(i) {
                var img = new Image();
                img.onerror = img.onload = function() {
                    loaded++;
                    end ? loaded === len && callback(loaded, i) : callback(loaded, i)
                };
                img.src = imgs[i];
            })(i);
        }
    }
 标签:html5javascript

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv5 码农
de***st CEO 6年前#1

楼上有人讲了调用方法,我安利下自己写的预加载组件吧
https://github.com/jayZOU/preload

Lv6 码匠
d***悠 Web前端工程师 6年前#2

这个函数有问题,当图片加载失败的时候。loaded也会加1.这样就造成loaded统计错误。后面的程序就没办法做了

Lv2 入门
随***0 JAVA开发工程师 6年前#3

preload(imgs, callback, end)中imgs应该指要加载的图片路径数组,把你要预加载的图片路径写在一个数组中带入就好,callback这个函数,如果end为true,所有图片加载完后执行回调preload(imgsArr,cb,true),如果end为false,每张图片加载完后就执行回调preload(imgsArr,cb,false),希望对你有帮助。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取