很久很久没更新文章啦!刚好3个月,前段时间都在忙各种事,忙着公司的项目,忙着自己的小项目,还要忙着生活,回想起来,还是挺充实的,感谢一直以来支持我的朋友们。很久没来了,没想到粉丝都增加到了100多了,排名还没怎么减,感觉每一位支持我的小伙伴。
今天还是记录点东西吧,我在过去的三个月里面,也记录了很多文章内容,我会尽量抽出时间写成博文和大家分享。
话不多说,进入正题,今天分享一段js代码:实现一个简单的倒计时(n天n时n分n秒),内容比较基础,但是往往我们缺少的其实就是基础的东西。
函数:
/**
* @param {Function} fn 回调函数
* @param {Number} e 结束时间戳 必传
* @param {Number} t 定时时间 默认1000ms
*/
function getCountdown(fn,e,t) {
if (!e) throw new Error('请传入结束时间');
var _time = t ? t : 1000;
var _timer = setInterval(function() {
var NowTime = new Date(),
t = e - NowTime.getTime(),
d = Math.floor(t / 1000 / 60 / 60 / 24),
h = Math.floor(t / 1000 / 60 / 60 % 24),
m = Math.floor(t / 1000 / 60 % 60),
s = Math.floor(t / 1000 % 60),
result = d + "天" + h + "时" + m + "分" + s + "秒";
if (d == 0 && h == 0 && m == 0 && s == 0) {
clearInterval(_timer);
}
if (fn) fn(result);
}, _time)
}
使用方法:
getCountdown(function(v) {
console.log(v)//31天22时32分8秒 ...
},new Date('2022-11-14').getTime(),1000)