1. 程式人生 > >微信小程式—批量倒計時(格式:06:58:30)

微信小程式—批量倒計時(格式:06:58:30)

 //適用於商品列表倒計時/** * end_time int 結束時間 * param int 陣列鍵 */

1.展示效果如下:

2.wxml程式碼:

<p class="promotion-label-tits">僅{{item.endtime}}</p>

3.js程式碼: 

//封裝的倒計時方法
//批量倒計時
function grouponcountdown(that, end_time, param) {
  var EndTime = new Date(end_time).getTime();
  // console.log(EndTime);
  var NowTime = new Date().getTime();

  var total_micro_second = EndTime - NowTime;

  var groupons = that.data.groupon;
  // console.log(groupons);
  groupons[param].endtime = dateformats(total_micro_second);
  if (total_micro_second <= 0) {
    groupons[param].endtime = "已結束"
  }
  that.setData({
    groupon: groupons
  })
  setTimeout(function () {
    grouponcountdown(that, end_time, param);
  }, 1000)
}

// 時間格式化輸出,每1s都會呼叫一次
function dateformats(micro_second) {
  // 總秒數
  var second = Math.floor(micro_second / 1000);
  // 天數
  var day = Math.floor(second / 3600 / 24);
  // 小時
  var hr = Math.floor(second / 3600 % 24);
  var hrStr = hr.toString();
  if (hrStr.length == 1) hrStr = '0' + hrStr;

  // 分鐘
  var min = Math.floor(second / 60 % 60);
  var minStr = min.toString();
  if (minStr.length == 1) minStr = '0' + minStr;

  // 秒
  var sec = Math.floor(second % 60);
  var secStr = sec.toString();
  if (secStr.length == 1) secStr = '0' + secStr;

  if (day <= 1) {
    return "剩 " + hrStr + ":" + minStr + ":" + secStr;
  } else {
    return "剩 " + day + " 天 " + hrStr + ":" + minStr + ":" + secStr;
  }
}
//end

var app=getApp()
Page({

  /**
   * 頁面的初始資料
   */
  data: {
      collageTeamlist : {}
  },

  /**
   * 生命週期函式--監聽頁面載入
   */
  onLoad: function (options) {
      app.showLoading();
      var that = this
     
      wx.request({
          success:function(res){
              var grouponList = request.data.collageTeamlist
              // console.log(grouponList);
              for (var i = 0; i < grouponList.length; i++) {
                 var lack_num = grouponList[i].create_num - grouponList[i].current_num
                 grouponList[i].lack_num = lack_num
              }

              that.setData({
                  groupon: grouponList
              })
              var data = that.data.groupon
              //列表獲取到資料進行遍歷
              for (var i = 0; i < data.length; i++) {
                  var end_time = data[i].end_time.replace(/-/g, '/')
                  grouponcountdown(that,end_time, i)
              }
          },
      })
  },