就是两次事件之间加上时间限制(我的是2s),规定时间内不能多次触发,防止刷数据吧好像是。
啊今天周五,周末不用加班,开心~回去找小女朋友吃包子啦啦啦
先定义成全局的函数,我是写在util.js里:
image.png
// 点击时间限制
function throttle(fn, gapTime) {
if (gapTime == null || gapTime == undefined) {
gapTime = 2000//这是设置的时间间隔
}
let _lastTime = null
// 返回新的函数
return function () {
let _nowTime = + new Date()
if (_nowTime - _lastTime > gapTime || !_lastTime) {
fn.apply(this, arguments) //将this和参数传给原函数
_lastTime = _nowTime
}
}
}
// 抛出函数使用
module.exports = {
throttle: throttle
}
在其他页直接引用:
//这两行写在page({})外面
const app = getApp()
var util = require("../../../utils/util.js")
// 分享到朋友圈(需要加时间限制的点击事件)
toCanvas: util.throttle(function (ev){//主要是这行的写法
var that=this;
var discountId = that.data.discount.id;
console.log(bgImgPath)
wx.navigateTo({
url: '/pages/index/details/canvas/canvas?discountId=' + discountId,
})
}),
直接复制粘贴就能用,感谢给我代码的小哥哥~
哈哈,周末快乐呀~
不加班的日子开心的像放假。(呸,太没志气了。emmmm..........)
还是开心。
网友评论