javascript预加载图片的处理(src无法加载图片)

当我们需要多多图片的处理时候,很可能我们会会new 一个Image()然后不停给他设置src用来修改图片的显示,但是这里有个问题。图片的加载是需要消耗时间的,很可能在我们设置完src去用它的时候并没有加载完成。(javascript 图片src一直失败(comple ==false))无论是requestAnimationFrame 还是setInterval或者setTimeOut 方法都可能循环执行完了但是图片加载并没有完成,这个在加载大图的时候特别明显。那么我们怎么处理呢???我们可以通过定义一个图片加载器在程序开始操作前先加载图片,主要的是根据javascript里面Image()内有个onload方法可以用来判断是否加载完成;下面我先给大家展示我写的简单的图片加载器。
var imageLoader = {

    loaded:true,
    loadImages:0,
    totoalImages:0,
    load:function(url){
        this.totoalImages++;
        this.loaded = false;
        var loadimage = new Image();
        loadimage.src = url;
        loadimage.onload = function(){
            imageLoader.loadImages++;
            if(imageLoader.loadImages === imageLoader.totoalImages){

                imageLoader.loaded = true;

            }
        };
        return loadimage;
    }
};
onload在加载完成的时候才会进入函数体内。,我们可以通过loadImages/totoalImages来判断当前图片的进度。,当然进一步如何使用图片呢??。我们可以定义一个MAP,

类似IOS中的dic 以图片名字作为关键字把加载器图片存起来。当用的时候直接拿出来使用即可。map使用我这里就不多说了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值