``实用代码工具片段
1.判断字符串字符个数
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
var a = val.charAt(i);
if (a.match(/[^\x00-\xff]/ig) != null) {
len += 2;
}
else {
len += 1;
}
}
return len;
}
2.比较前后数组差异元素,去img标签src内容
// html 即变化之后的内容,判断不同数组的差异元素
let nowimgs = this.getSrc(html)
let merge = this.imgsrc.concat(nowimgs).filter(function (v, i, arr) {
return arr.indexOf(v) === arr.lastIndexOf(v)
})
for (let x in merge) {
let colds = merge[x].split('/')
}
/**
* 取出区域内所有img的src
*/
getSrc (html) {
var imgReg = /<img.*?(?:>|\/>)/gi
// 匹配src属性
var srcReg = /src=[\\"]?([^\\"]*)[\\"]?/i
var arr = html.match(imgReg)
let imgs = []
if (arr) {
for (let i = 0; i < arr.length; i++) {
var src = arr[i].match(srcReg)[1]
imgs.push(src)
}
}
return imgs
},
3.rem配适
@media screen and (min-width:320px) {
html {
font-size: calc(87.5% + 2 * (100vw - 320px) / 55);
font-size: calc(14px + 2 * (100vw - 320px) / 55);
}
}
@media screen and (min-width:375px) {
html {
font-size: calc(100% + 2 * (100vw - 375px) / 39);
font-size: calc(16px + 2 * (100vw - 375px) / 39);
}
}
@media screen and (min-width:414px) {
html {
font-size: calc(112.5% + 2 * (100vw - 414px) / 354);
font-size: calc(18px + 2 * (100vw - 414px) / 354);
}
}
@media screen and (min-width:768px) {
html {
font-size: calc(125% + 2 * (100vw - 768px) / 256);
font-size: calc(20px + 2 * (100vw - 768px) / 256);
}
}
@media screen and (min-width:1024px) {
html {
font-size: calc(137.5% + 6 * (100vw - 1024px) / 1024);
font-size: calc(22px + 6 * (100vw - 1024px) / 1024);
}
}