您的当前位置:首页正文

小程序同时设置点击跳转与自动跳转导致重复跳转的问题及解决

2024-11-27 来源:个人技术集锦

小程序的自动跳转页面一般会有两个功能,一个是点击跳转,另一个是三秒内未点击则自动跳转,同时添加两个这两个功能会导致点击跳转后,自动跳转仍会执行,即会发生两次跳转。这种情况则需要“上?”,即,如果点击跳转则不需要进行自动跳转。解决办法:设置变量:isRedict: true,点击事件使其值为false,在自动跳转的定时器中,使用判断语句,若isRedict为true,则进行自动跳转。代码如下

 //点击事件绑定的函数,跳转order页面
 goToOrder() {
    this.isRedict = false;
    wx.redirectTo({
      url: '/pages/order/order',
    })
  },
 //3秒后自动跳转
 onShow() {
    setTimeout(() => {
      if (this.isRedict) {
        wx.redirectTo({
          url: '/pages/order/order',
        })
      }
    }, 3000);
  },

另外3秒后自动跳转在页面的展示,可以在onLoad() 函数中设置定时器去改变渲染的数值,代码如下

//time为渲染页面的数据,初始值为3
//count为用来计数的变量
 onLoad: function (options) {
    this.changeTime()
  },
 changeTime() {
    if (this.count < 0) {
      clearTimeout(timer)
    }
    const timer = setTimeout(() => {
      this.setData({
        time: this.count--
      })
      this.changeTime()
    }, 1000);
  },
显示全文