码迷,mamicode.com
首页 > 其他好文 > 详细

小程序倒计时

时间:2018-05-04 20:21:46      阅读:527      评论:0      收藏:0      [点我收藏+]

标签:时间戳   image   初始化   onload   complete   mic   page   秒杀   ota   

1、一般我们说的显示秒杀都是指的单条数据,循环我没做。

效果:

技术分享图片

2、wxml代码:

<p> 
  <block wx:if="{{total_micro_second<=0}}">
剩余时间:已经截止
</block>
<block wx:if="{{clock!=‘已经截止‘}}">
剩余时间:{{clock}}
</block>
</p>

 

3、.js文件代码:


function countdown(that) {
  var EndTime = that.data.end_time || [];
  var NowTime = new Date().getTime();
  var total_micro_second = EndTime - NowTime || [];   //单位毫秒
  if (total_micro_second < 0) {
    console.log(时间初始化小于0,活动已结束状态);
    total_micro_second = 1;     //单位毫秒 ------  WHY?
  }
  console.log(剩余时间: + total_micro_second);
  // 渲染倒计时时钟
  that.setData({
    clock: dateformat(total_micro_second)   //若已结束,此处输出‘0天0小时0分钟0秒‘
  });
  if (total_micro_second <= 0) {
    that.setData({
      clock: "已经截止"
    });
    return;
  }
  setTimeout(function () {
    total_micro_second -= 1000;
    countdown(that);
  }
    , 1000)
}

// 时间格式化输出,如11天03小时25分钟19秒  每1s都会调用一次
function dateformat(micro_second) {
  // 总秒数
  var second = Math.floor(micro_second / 1000);
  // 天数
  var day = Math.floor(second / 3600 / 24);
  // 小时
  var hr = Math.floor(second / 3600 % 24);
  // 分钟
  var min = Math.floor(second / 60 % 60);
  //
  var sec = Math.floor(second % 60);
  return day + "" + hr + "小时" + min + "分钟" + sec + "";
}

Page({

  /**
   * 页面的初始数据
   */
  data: {
    id: ‘‘,
    result: [],
    end_time: ‘‘,
    clock: ‘‘
  },/**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this;
    wx.request({
      url: https://m.******.com/index.php/Home/Xiaoxxf/activity_detail?a_id= + options.id,//不含富文本html
      data: {},
      method: GET, // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
      header: {
        Content-Type: application/json
      },
      success: function (res) {
        that.setData({
          common: res.data,   //一维数组,全部数据
          end_time: res.data.end_time    //项目截止时间,时间戳,单位毫秒
        })
        console.log(that.data.common);
        console.log(结束时间: + that.data.end_time);
      },
      fail: function (res) { },
      complete: function (res) { },
    })
    //调用上面定义的递归函数,一秒一刷新时间
    countdown(that)
  }
})

 

小程序倒计时

标签:时间戳   image   初始化   onload   complete   mic   page   秒杀   ota   

原文地址:https://www.cnblogs.com/dalulu/p/8992247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!