1、获取url参数
GetQueryString(name) {
const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
const r = window.location.search.substr(1).match(reg);
if (r != null) return decodeURIComponent(r[2]);
return null;
}
2、安卓还是ios,用于判断环境
getDeviceType() {
const u = navigator.userAgent;
const isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
const isAndroid = u.indexOf("Android") > -1 || u.indexOf("Adr") > -1;
//android终端
if (isiOS) {
return 1;
} else if (isAndroid) {
return 2;
}
}
3、加减乘除,解决精度丢失问题
// 加
accAdd: function (arg1, arg2) {
var r1, r2, m;
try {
r1 = arg1.toString().split(".")[1].length;
} catch (e) {
r1 = 0;
}
try {
r2 = arg2.toString().split(".")[1].length;
} catch (e) {
r2 = 0;
}
m = Math.pow(10, Math.max(r1, r2));
return (Math.round(arg1 * m) + Math.round(arg2 * m)) / m;
}
// 除
accDiv: function (arg1, arg2) {
var t1 = 0,
t2 = 0,
r1,
r2;
var t1 = 0,
t2 = 0,
r1,
r2;
try {
t1 = arg1.toString().split(".")[1].length;
} catch (e) {}
try {
t2 = arg2.toString().split(".")[1].length;
} catch (e) {}
try {
r1 = Number(arg1.toString().replace(".", ""));
r2 = Number(arg2.toString().replace(".", ""));
} catch (e) {}
return (r1 / r2) * Math.pow(10, t2 - t1);
}
// 减
Subtr: function (arg1, arg2) {
var r1, r2, m, n;
try {
r1 = arg1.toString().split(".")[1].length;
} catch (e) {
r1 = 0;
}
try {
r2 = arg2.toString().split(".")[1].length;
} catch (e) {
r2 = 0;
}
m = Math.pow(10, Math.max(r1, r2));
n = r1 >= r2 ? r1 : r2;
return ((arg1 * m - arg2 * m) / m).toFixed(n);
}
// 乘
accMul: function (arg1, arg2) {
var m = 0,
s1 = arg1.toString(),
s2 = arg2.toString();
try {
m += s1.split(".")[1].length;
} catch (e) {}
try {
m += s2.split(".")[1].length;
} catch (e) {}
return (Number(s1.replace(".", "")) * Number(s2.replace(".", ""))) / Math.pow(10, m);
}
4、弹窗后禁止滑动
// 弹窗后禁止滑动
addDisableScrollBody() {
// 在弹出层显示之前,记录当前的滚动位置
this.scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
// 使body脱离文档流
document.body.classList.add("dialog-open");
// 把脱离文档流的body拉上去!否则页面会回到顶部!
document.body.style.top = -this.scrollTop + "px";
}
removeDisableScrollBody()
document.body.classList.remove("dialog-open");
// 滚回到老地方
document.body.scrollTop = document.documentElement.scrollTop = this.scrollTop;
}
页面弹窗显示时调用addDisableScrollBody,弹窗关闭后调用removeDisableScrollBody