在使用小程序的时候会出现这样一种情况:当网络条件差或卡顿的情况下,使用者会认为点击无效而进行多次点击,最后出现多次跳转页面的情况
在util文件下添加以下代码
//防止多次点击跳转的方法(函数节流)
function noDoubleClick(fn, gapTime) {
if (gapTime == null || gapTime == undefined) {
gapTime = 1000
}
let _lastTime = null
// 返回新的函数
return function () {
let _nowTime = + new Date()
if (_nowTime - _lastTime > gapTime || !_lastTime) {
fn.apply(this, arguments) //将this和参数传给原函数
_lastTime = _nowTime
}
}
}
module.exports = {
noDoubleClick: noDoubleClick
}
目标文件的wxml
[/pages/throttle/throttle.wxml]
<button bindtap="btn">按钮</button>
目标文件的js
[/pages/throttle/throttle.js]
var util = require('../../utils/util.js');//引入util的js
btn: util.throttle(function (e) {//调用方法
console.log(this)
console.log(e)
console.log((new Date()).getSeconds())
}, 1000)
网友评论