评论

实现禁止重复点击【开发笔记】

实现禁止重复点击,基本实现了单个函数触发频率,但同时多个函数共同调用时也会被限制。

// 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'
        })
      }

    })
  },

})

//基本实现了单个函数触发频率,但同时多个函数共同调用时也会被限制。
最后一次编辑于  01-24  
点赞 1
收藏
评论
登录 后发表内容