图片预加载

方法:多张图片的预加载

function preload(arr){

    var newimages=[], loadedimages=0

    var postaction=function(){}  //此处增加了一个postaction函数

if(arr.length == 0) setTimeout(()=>{postaction(newimages)},5)

    function imageloadpost(){

        loadedimages++

        if (loadedimages==arr.length){

            postaction(newimages) //加载完成用我们调用postaction函数并将newimages数组做为参数传递进去

        }

    }

for (var i=0; i<arr.length; i++){

         newimages[i] = new Image()

        newimages[i].src=arr[i]

        newimages[i].onload=function(){

            imageloadpost()

        }

        newimages[i].onerror=function(){

            imageloadpost()

        }

    }

    return { //此处返回一个空白对象的done方法

        done:function(f){

            postaction=f || postaction

        }

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,046评论 0 2
  • 图片预加载是web开发中一种应用相当广泛的技术,比如我们在做图片翻转显示等特效的时候,为了让图片在转换的时候不出现...
    才気莮孒阅读 339评论 0 1
  • 预加载图片是提高用户体验的一个很好方法。图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加...
    站着瞌睡阅读 2,071评论 0 0
  • 2017.05.01 你很晚才起来,给自己做了丰富的午饭,你还晾了衣服,接近中午的时候,有个胖子来了,接你出去了。...
    wensmily阅读 221评论 0 0
  • “攀比”这个词,在我的字典舞台里,他从来不是唱solo的,伴随着一同出场的一般还会有“虚荣”、“肤浅”和“盲目”三...
    艾寇阅读 950评论 1 49