图片的预加载

//用到闭包、回调、
//图片预加载
function YReload(result,imgName,callBack){
var imgArr = [];
for(var i in result){
(function(item,src){
imgArr[i] = new Image();
if( IsPicture(src)){//获取图片的路径
imgArr[i].src = src;

}else{//没有图片的话放默认图片
imgArr[i].src = '../static/image/banji@2x.png';
}
imgArr[i].onload = function(){
callBack(item);
};
})(result[i],result[i][imgName]);
}

}


//判断是否是图片
function IsPicture(str)
{
//判断是否是图片 - strFilter必须是小写列举
var strFilter=".jpeg|.gif|.jpg|.png|.bmp|.pic|"
if(str.indexOf(".")>-1)
{
return true;
var p = str.lastIndexOf(".");
var strPostfix=str.substring(p,this.length) + '|';
strPostfix = strPostfix.toLowerCase();
if(strFilter.indexOf(strPostfix)>-1)
{
return true;
}
}
return false;
}

//调用
var result = success.data.data.list
YReload(result,'videoAudioLogo',function(item){
that.learningContent.push(item)
});
原文地址:https://www.cnblogs.com/lmxxlm-123/p/8921292.html