更新记录
1(2021-11-09) 下载此版本
添加
平台兼容性
uni-app
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | - | - | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | - | - | - | √ | - | √ | √ |
其他
多语言 | 暗黑模式 | 宽屏模式 |
---|---|---|
× | × | √ |
防抖节流函数
备份防抖节流函数,
tips 防抖函数
非立即执行: delay时间内,点击的最后一次执行函数,需要等待delay时间后才执行fn
立即执行:立即执行,需要delay时间后才能执行下一次fn
/**
* @param {Function} fn 需要执行的方法,因this指向问题,建议不使用箭头函数,
* @param {Number} delay 间隔时间,默认值100
* @param {Boolean} promptly 是否立即执行,默认false
* **/
const debounce = (fn,delay = 100,promptly) => {
let timer = null;
return function(...args) {
// 立即执行
if(promptly) {
// 当timer为null时执行
if(!timer) fn.apply(this,args);
if(timer) {
clearTimeout(timer)
}
timer = setTimeout(() => {
timer = null;
},delay)
}else {
if(timer) {
clearTimeout(timer)
}
timer = setTimeout(() => {
fn.apply(this,args);
},delay)
}
}
}
tips 节流函数
每隔delay时间内执行一次fn函数,可用于页面滚动执行
/**
* @param {Function} fn 需要执行的方法,因this指向问题,建议不使用箭头函数,
* @param {Number} delay 间隔时间,默认值100
* **/
const throttle = (fn,delay = 100) => {
let valid = true;
return function(...args) {
if(!valid) {
return
}
valid = false;
fn.apply(this,args)
setTimeout(() => {
valid = true
},delay)
}
}