JS 倒计时(微信小程序)

下面的例子是微信小程序的写法和web端的都是差不多的,只是显示在页面的写法不一样:

   var timer = null;

   /**
    * 倒计时
    * @param time 服务端传来的时间戳
    */
   function countdown(time) {
      var that = this;
      timer = setInterval(function () {
         var leftTime = time - new Date().getTime();

         //倒计时结束
         if (leftTime <= 1) {
            clearInterval(timer);
            that.setData({
               m: '00',
               s: '00',
               timer: null
            })
            return;
         }

         var leftSecond = parseInt(leftTime / 1000);
         var Day = Math.floor(leftSecond / (60 * 60 * 24)); //天数
         var Hour = Math.floor((leftSecond - Day * 24 * 60 * 60) / 3600); //小时
         var Minute = Math.floor((leftSecond - Day * 24 * 60 * 60 - Hour * 3600) / 60); //分钟
         var Second = Math.floor(leftSecond - Day * 24 * 60 * 60 - Hour * 3600 - Minute * 60); //秒数
         if (Minute >= 0 && Second >= 0) {
            that.setData({
               m: Minute < 10 ? '0' + Minute : Minute,
               s: Second < 10 ? '0' + Second : Second,
            })
         }
      }, 1000)
   },

大概的样子:

这边是只显示分秒的倒计时,如果想显示剩余几天几时几分几秒的,

可以把 Day Hour 的值赋值到data里显示到页面即可!

 

你可能感兴趣的:(前端,JS,微信小程序)