实现禁止重复点击【开发笔记】
// app.js
App({
onLaunch: function () {
// 设置全局变量-最后一次操作时间
this.globalData = {
lastClickTime: 0,
// 其他全局变量...
};
},
// 防止重复点击
handleClick(time, result) {
// 获取当前时间戳
const currentTime = new Date().getTime();
// 设置两次点击的最小时间间隔(例如 1000 毫秒,即 1 秒)
const minInterval = time;
// 获取全局变量中的上一次点击时间戳
var lastClickTime = this.globalData.lastClickTime;
// 判断距离上一次点击的时间间隔是否大于最小间隔
if (currentTime - lastClickTime > minInterval) {
// 更新上一次点击的时间戳
this.globalData.lastClickTime = currentTime;
// 执行点击操作
console.log('执行点击操作');
result(true);
} else {
// 在最小间隔内的重复点击,不执行操作,可以给予用户一些提示
console.log('请勿重复点击');
result(false);
}
},
})
// pages/index/index.js
var app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
fun(){
// 防止重复点击
app.handleClick(1000, function (status) {
if (status) {
// 执行操作
} else {
wx.showToast({
title: '操作太快了',
icon: 'none'
})
}
})
},
})
//基本实现了单个函数触发频率,但同时多个函数共同调用时也会被限制。