小程序商城计时器

自制小程序商品列表计时器

看了很多人写的计时器都是直接秒更新页面数据,亲自测试了一下真的是不能用。。页面数据稍微多一点直接就一闪一闪亮晶晶不能看啊。
下边是用小程序comPonent实现的列表计时器,话不多说直接上code

 js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    num:Number
  },
  observers: {//监听页面数据的传入启动计时器
    'num': function(num) {
      this.interVal(num);
    }
  },
  /**
   * 组件的初始数据
   */
  data: {
    timeTex:"",
    allInterVal:null
  },
  detached:function(){
    let that = this;
   clearInterval( that.data.allInterVal);
  },
  methods: {//这里是方法体
    interVal:function (num) {
      let that =this;
      let intNum = Math.floor(num/1000) ;
      setInterval(function () {
        intNum = intNum - 1 ;
        if (intNum > 0) {
          // 天数位
          let day = Math.floor(intNum / 3600 / 24);
          let dayStr = day.toString();
          dayStr.length == 1 ? dayStr = '0' + dayStr : dayStr = dayStr;
          // 小时位
          let hr = Math.floor((intNum - day * 3600 * 24) / 3600);
          let hrStr = hr.toString();
          hrStr.length == 1? hrStr = '0' + hrStr:hrStr = hrStr;
          // 分钟位
          let min = Math.floor((intNum - day * 3600 * 24 - hr * 3600) / 60);
          let minStr = min.toString();
          minStr.length == 1? minStr = '0' + minStr:minStr =  minStr;
          // 秒位
          let sec = Math.floor(intNum - day * 3600 * 24 - hr * 3600 - min * 60);
          let secStr = sec.toString();
          secStr.length == 1? secStr = '0' + secStr:secStr  + secStr;
          let endtime=dayStr + ':' + hrStr + ':' + minStr + ':' + secStr ;

         that.setData({timeTex:endtime});
        }
      },1000)
    }

  }
})

 wxml
<text class="_time_num">{{timeTex}}</text>

剩下的就是在别的页面使用了

 需要使用的页面的.json文件
"usingComponents": {
    "这里是在页面中是用组件的自定义标签": "这里是你的组件的路径"
     "timeText": "/modulePage/intervalTime"//这是例子
  },
需要使用的页面的wxml文件
<timeText num="{{timeNum}}">//timeNum是“结束时间 - 开始时间”的毫秒值

这样就大功告成了
PS:转载请标明出处,如有不足欢迎大家指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值