WXML代码:

  1. <view class='countDown'>倒计时:<text style='color:red'>{{countDownNum}}</text>s</view>

JS代码:

  1. Page({
  2. /**
  3. * 页面的初始数据
  4. */
  5. data: {
  6. timer: '',//定时器名字
  7. countDownNum: '60'//倒计时初始值
  8. },
  9. onShow: function(){
  10. //什么时候触发倒计时,就在什么地方调用这个函数
  11. this.countDown();
  12. },
  13. countDown: function () {
  14. let that = this;
  15. let countDownNum = that.data.countDownNum;//获取倒计时初始值
  16. //如果将定时器设置在外面,那么用户就看不到countDownNum的数值动态变化,所以要把定时器存进data里面
  17. that.setData({
  18. timer: setInterval(function () {//这里把setInterval赋值给变量名为timer的变量
  19. //每隔一秒countDownNum就减一,实现同步
  20. countDownNum--;
  21. //然后把countDownNum存进data,好让用户知道时间在倒计着
  22. that.setData({
  23. countDownNum: countDownNum
  24. })
  25. //在倒计时还未到0时,这中间可以做其他的事情,按项目需求来
  26. if (countDownNum == 0) {
  27. //这里特别要注意,计时器是始终一直在走的,如果你的时间为0,那么就要关掉定时器!不然相当耗性能
  28. //因为timer是存在data里面的,所以在关掉时,也要在data里取出后再关闭
  29. clearInterval(that.data.timer);
  30. //关闭定时器之后,可作其他处理codes go here
  31. }
  32. }, 1000)
  33. })
  34. }
  35. })

分类: 小程序

标签:   js