js定制设计怎么做倒计时,定制设计其实很简单。话不多说,直接上菜
使用 new Date() 定制设计获取当前时间, Date.parse()定制设计方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数。然后,求两个时间差。这里也可以使用 getTime() 方法获取现在时和结束时距离的毫秒数。
把时间差转换为天数、小时数、分钟数和秒数显示。主要是用%
取模运算。得到距离结束时间的毫秒数(剩余毫秒数),除以 1000 得到剩余秒数,再除以 60 得到剩余分钟数,再除以 60 得到剩余小时数。除以 24 得到剩余天数。剩余秒数 diff/1000 模 60 得到秒数,剩余分钟。数。diff/(1000 * 60) 模 60 得到分钟数,剩余小时数 diff/(1000 * 60 * 60) 模 24 得到小时数。
- getPart(endTime) {
- //获取当前时间戳并换算为秒做单位
- const current = Date.parse(new Date()) / 1000
- //时间戳相差多少秒
- let diff = endTime - current
- //判断是否过时
- if (diff > 0) {
- let d = Math.floor(diff / (3600 * 24)) //获取天数
- let h = Math.floor((diff % (3600 * 24)) / (60 * 60)) //获取时
- let m = Math.floor(((diff % (3600 * 24)) % (60 * 60)) / 60) //获取分
- let s = Math.floor(diff % 60) //获取秒
- d = d < 10? "0" + d : d;
- h = h < 10? "0" + h : h;
- m = m < 10? "0" + m : m;
- s = s < 10? "0" + s : s;
- let _diffData = [d, h, m, s]
- } else {
- let _diffData = ["00", "00", "00","00"];
- return _diffData;
setInterval(getPart(), 1000);
对进行封装,可以使用setInterval()方法对函数调用就可以实现倒计时了。
如果想停掉倒计时则用clearInterval()方法就可以了。
描述如有错误,欢迎指正!