weixin_41584177 2018-03-21 07:07 采纳率: 0%
浏览 1935
已采纳

小程序中如何显示倒计时

如何小程序js开发中在页面显示到某天(比如2018年9月1日)的倒计时,精确到秒而且每秒都会变动,请具体谢谢

  • 写回答

3条回答 默认 最新

  • 斯洛文尼亚旅游 2018-03-21 07:36
    关注

    Page的onLoad事件用setInterval定时setData就行了,大概下面这样
    wxml

     {{ticker}}
    
     Page({
      data: {
          ticker: ''
      },
      getTicker: function (totalSec) {
          var s = '';
          var v = Math.floor(totalSec / 24 / 60 / 60); if (v > 0) s += v + '天'; totalSec -= v * 24 * 60 * 60;
          v = Math.floor(totalSec / 60 / 60); if (v > 0) s += v + '小时'; totalSec -= v * 60 * 60;
          v = Math.floor(totalSec / 60); if (v > 0) s += v + '分钟'; totalSec -= v * 60;
          s += v + '秒';
          return s;
      },
      onLoad: function (options) {
          var d = new Date(), endDate = new Date('2018/9/1'), totalSec = (endDate.getTime() - d.getTime()) / 1000;
          endDate = '距离' + endDate.toLocaleDateString() + ':';
          setInterval(function () {
              totalSec--;
              this.setData({ticker:endDate+ this.getTicker(totalSec)})
          }.bind(this), 1000);
          this.setData({ ticker: endDate + this.getTicker(totalSec) })
      }
        }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?