UNPKG

eric-utilslist

Version:

基础组件类,五星好评,商品列表,计数器

69 lines (67 loc) 2.31 kB
export default class Utils{ static setCSS(css){ var styleSheet=Array.from(document.styleSheets).find(item=>item.id==="custom"); if(!styleSheet){ var style=document.createElement("style"); document.head.appendChild(style); style.id="custom"; styleSheet=document.styleSheets[document.styleSheets.length-1]; } css.split(/(?<=\})/g).forEach(item=>{ item=item.trim().replace(/\n/g,""); if(item.length===0) return; styleSheet.insertRule(item,styleSheet.cssRules.length); }); } static loadImage(imgArr,callback,basePath,extension){ if(basePath===undefined) basePath=""; if(extension===undefined) extension=""; if(basePath){ imgArr=imgArr.map(function(item){ basePath=basePath.endsWith("/") ? basePath : basePath+"/" return basePath+item; }) } if(extension){ imgArr=imgArr.map(function(item){ if(item.endsWith(".",item.length-3) || item.endsWith(".",item.length-4))return item; extension=extension.startsWith(".") ? extension : "."+extension; return item+extension; }); } var img=new Image(); img.addEventListener("load",Utils.loadHandler); img.addEventListener("error",Utils.errorHandler); img.src=imgArr[0]; img.n=0; img.imgArr=imgArr; img.callback=callback; img.list=[]; } static loadHandler(e){ this.list.push(this.cloneNode(false)); Utils.loadNext(this); } static errorHandler(e){ console.error(this.src+"地址错误"); Utils.loadNext(this); } static loadNext(img){ img.n++; if(img.n>=img.imgArr.length){ img.removeEventListener("load",Utils.loadHandler) if(img.callback){ img.callback(img.list); }else{ var evt=new Event("img_load_finish"); evt.list=img.list; document.dispatchEvent(evt); } return; } img.src=img.imgArr[img.n]; } } // str.trim()删除字符串前后的空格 // var str=" aaa vvv adsas " // str=str.replace(/^\s+|\s+$/g,"");