javascript - 写h5图片太多,想做预加载,能帮忙看看这个函数怎么调用嘛?
ringa_lee
ringa_lee 2017-04-11 11:42:30
[JavaScript讨论组]
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);
        }
    }
ringa_lee
ringa_lee

ringa_lee

全部回复(3)
伊谢尔伦

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

阿神

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

高洛峰

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号