关于倒计时的一些小思路。

倒计时的前提是有一个明确的终结时间,我们可以将当前的时间的时间戳与终结时间的时间戳进行相减,得出来的数据就是中间需要度过的时间,然后利用毫秒、秒、分、时、天、月的进制来计算倒计时。

1、确认有一个终结的时间,并获取时间戳

2、由于是倒计时功能,因此,关于时间的属性是会进行变化的,所以用定时器来主使这个变化

3、在定时器内部获取当前时间,并计算与终结时间的时间差

4、由于月份是从0开始计算,因此在计算的时候需要进行+1,终结的月份需要再进行-1,因为从当前时间来看,已经不到满月,多出来的时候会计算到天、时等中

5、利用时间的进制进行计算每个单位的数据

6、由于会有个位的存在,因此对得到的数据进行补0

7、利用字符串拼接将其输出

代码如下:(命名有点乱0.0)

var ri = setInterval(function () {
  var zhong = new Date("2019-5-1 0:0:0");
  var yun = zhong.getTime();
  var d = new Date();
  var c = d.getTime();
  var cha = yun - c;
  var yue = d.getMonth() + 1;
  var yue1 = zhong.getMonth() + 1 - 1;
  var yuea = yue1 - yue;
  var tian = parseInt(cha / (1000 * 60 * 60 * 24));
  var shi = parseInt(cha / (1000 * 60 * 60) % 24);
  var fen = parseInt(cha / (1000 * 60) % 60);
  var miao = parseInt(cha / (1000) % 60);
  document.body.innerHTML = "<h2 style='text-align:center;'>距离活动结束还有" + p(yuea) + "月" + p(tian) + "天" + p(shi) + "时" + p(fen) + "分" + p(miao) + "秒</h2>";
}, 1000)
function p(z) {
  z < 10 ? z = "0" + z : z;
  return z;
}
posted @ 2019-04-05 19:35  Asaru  阅读(468)  评论(0编辑  收藏  举报