Legion001snow 2022-09-30 16:34 采纳率: 100%
浏览 33
已结题

微信小程序重新开始语句

问题遇到的现象和发生背景

按照提示做了一个倒计时器的微信小程序,可以开始倒计时以及中途停止,现在想增加一个button的功能是点击“重新开始”按钮可以回到倒计时开始时的样子。

用代码块功能插入代码,请勿粘贴截图


<view class='box' hidden='{{hidden}}'>
  <view class='title'>倒计时器</view>
  <view class='time'>{{num}}</view>
  <view class='btnLayout'>
    <button bindtap='start' disabled="{{btnDisabled}}">开始计时</button>
    <button bindtap='stop'>停止计时</button>
    <button bindtap='return'>重新开始</button>
  </view>
</view>


// index.js

var num = 100; 
var timerSet; 
Page({
  data: {
    hidden: true, 
    num: num
  },
 
  onLoad: function(options) {
    var that = this;
    setTimeout(() => {
      that.show()
    }, 2000) 
  },
 
  show: function () { 
    var that = this;
    that.setData({
      hidden: false 
    })
  },
 
  start: function() { 
    var that = this;
    timerSet = setInterval(() => {
      that.timer()
    }, 1000) 
  },
 
  stop: function() { 
    clearInterval(timerSet) 
  },

  return: function(){//希望在这里加入一个return的功能可以重新开始程序
   
  },
 
  timer: function() { 
    var that = this;
    console.log(num)
    if (num > 0) {
      that.setData({
        num: num-- 
      })
    } else {
      that.setData({
        num: 0
      })
    }
    console.log(num)
  }
 
})

运行结果及报错内容

无法做到重新开始程序

我的解答思路和尝试过的方法

img

img

我想要达到的结果

点击重新开始按钮可以让小程序从头开始

  • 写回答

3条回答 默认 最新

  • ironprosper 2022-10-04 20:17
    关注

    data中添加一个initNum保存初始值

      data: {
        hidden: true, 
        num: num,
        initNum: num,
      },
    

    具体逻辑

      return: function(){//希望在这里加入一个return的功能可以重新开始程序
        clearInterval(timerSet) // 如果是从头计时,这行注释掉
        num = this.data.initNum
        this.setData({
          num: num
        })
      },
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月13日
  • 已采纳回答 10月5日
  • 创建了问题 9月30日

悬赏问题

  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上