js获取url参数
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
return (false);
}
截取字符串url中的参数
function getQueryVariable(url, variable) {
let index = url.indexOf("?") + 1
let str = url.substring(index)
var vars = str.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
return (false);
}
删除url中特定参数重新生成url
function createURl(url, variable) {
let index = url.indexOf("?") + 1
let str = url.substring(index)
let newUrl = url.substring(0, index)
var vars = str.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] != variable) {
if (/=/.test(newUrl)) {
newUrl = newUrl + `&${vars[i]}`
} else {
newUrl += vars[i]
}
}
}
return newUrl
}
节流函数(绑定this)
export function throttle(callBack, time = 1000) {
let timer;
return function() {
if (timer) return
timer = setTimeout(() => {
timer = null;
callBack.apply(this)
}, time)
}
}
防抖函数(绑定this)
export function debounce(callBack, time = 1000) {
let timer;
return function() {
if (timer) clearTimeout(timer)
timer = setTimeout(() => {
callBack.apply(this)
}, time)
}
}
防抖函数(绑定this,立即执行)
function debounce(func, wait, immediate) {
var timeout, result;
return function () {
var context = this;
var args = arguments;
if (timeout) clearTimeout(timeout);
if (immediate) {
// 如果已经执行过,不再执行
var callNow = !timeout;
if (callNow) result = func.apply(context, args)
timeout = setTimeout(function () {
timeout = null;
}, wait)
}
else {
timeout = setTimeout(function () {
func.apply(context, args)
}, wait);
}
return result;
}
}
sass求百分比公式
// 百分比函数
@function percent($params, $params2) {
@return ($params / $params2)*100%
}
// vw函数
@function vw($size) {
@return ($size / $baseSize * 100)+vw
}
ios 上面禁止页面缩放
解释 为提升性能 很多浏览器将passive设置为true,这就导致preventDefault()无效
详细解释
window.onload = () => {
document.addEventListener('touchstart', (event) => {
if (event.touches.length > 1) {
event.preventDefault();
}
}, { passive: false });
let lastTouchEnd = 0;
document.addEventListener('touchend', (event) => {
const now = (new Date()).getTime();
if (now - lastTouchEnd <= 300) {
event.preventDefault();
}
lastTouchEnd = now;
}, false);
}
微信h5网页关闭分享以及关闭当前页面
关闭网页分享一些按钮(开发者上可能会报错,请忽略,在手机上查看功能)
document.addEventListener("WeixinJSBridgeReady", function () {
WeixinJSBridge.call('hideOptionMenu');
});
关闭网页
WeixinJSBridge.call('closeWindow');