朋友要我帮忙写个js倒计时的demo,遂记录一下
思路:
- 设置倒计时终点(endDate)
- 比较终点(endDate)与当前时间(nowDate)的秒数
- 计算天、时、分、秒
- 定时器递归调用方法
代码如下:
<div id="countDown"></div>
<script type="text/javascript">
let endDate = '2020-10-01 20:00:00'; // 设置倒计时终点
let day, hour, minute, second;
function countDown() {
let nowDate = new Date().getTime();
let diffTime = Math.floor((new Date(endDate).getTime() - nowDate) / 1000)
if (diffTime > 0) {
day = Math.floor(diffTime / (60 * 60 * 24))
hour = Math.floor(diffTime / (60 * 60) % 24)
minute = Math.floor(diffTime / 60 % 60)
second = Math.floor(diffTime % 60)
document.getElementById('countDown').innerText = day + '天' + hour + '时' + minute + '分' + second + '秒'
setTimeout(function () {
countDown()
}, 1000)
} else {
document.getElementById('countDown').innerText = '倒计时已结束'
}
}
countDown();
</script>