JavaScript 实现动态倒计时功能详解
本文介绍如何使用 JavaScript 结合 setInterval 定时器实现动态倒计时效果。通过获取目标时间与当前时间的时间差,计算剩余的小时、分钟和秒数,并利用 DOM 操作实时更新页面显示。文章包含完整的 HTML 结构、CSS 样式及 JS 逻辑代码,解决初始刷新空白问题,适合前端初学者参考学习。
本文分享了一个使用 JavaScript 编写倒计时效果的具体代码示例,供读者参考学习。
最终运行效果如下图所示:

实现该倒计时功能的核心思路如下:
1. 由于倒计时数值是动态变化的,因此需要利用 setInterval 定时器来自动更新显示内容。 2. 页面中设置三个黑色容器,分别用于展示小时、分钟和秒数。 3. 通过 innerHTML 属性将计算得出的具体时、分、秒数值填入对应的容器中。 4. 需要注意的是,首次执行 setInterval 时存在毫秒级延迟,这会导致页面初始刷新时出现短暂空白。 5. 为避免上述问题,建议将倒计时逻辑封装为函数,并在定时器启动前先调用一次该函数。
HTML 结构部分代码如下:
<div>
<h4>距离2022-6-14 24:00:00还有</h4>
<span class="hour">1</span>
<span>:</span>
<span class="minute">2</span>
<span>:</span>
<span class="second">3</span>
</div>CSS 样式部分代码如下:
div {
width: 250px;
height: 200px;
margin: 200px auto;
text-align: center;
}
span {
display: inline-block;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
background-color: pink;
border-radius: 3px;
font-size: 20px;
}
span:nth-of-type(even) {
width: 10px;
background-color: #fff;
}JavaScript 逻辑部分代码如下:
//获取元素
let hour = document.querySelector(".hour") //小时
let minute = document.querySelector(".minute") //分钟
let second = document.querySelector(".second") //秒
var inputTime = +new Date('2022-6-14 24:00:00'); // 返回的是用户输入时间总的亳秒数
countDown(); //先调用一次这个函数,防止刚开始刷新页面有空白问题
// 2.开启定时器
setInterval(countDown, 1000);
function countDown() {
var nowTime = +new Date(); // 返回的是当前时间总的毫秒数
var times = (inputTime - nowTime) / 1000; // times是剩余时间总的秒数
var h = parseInt(times / 60 / 60 % 24); //时
h = h < 10 ? '0' + h : h;
hour.innerHTML = h;
// 把剩余的小时给小时黑色盒子
var m = parseInt(times / 60 % 60); // 分
m = m < 10 ? 'O' + m : m;
minute.innerHTML = m;
var s = parseInt(times % 60);
// 当前的秒
s = s < 10 ? '0' + s : s;
second.innerHTML = s;
}以上内容即为 JavaScript 实现倒计时的完整教程,希望能为各位的学习带来帮助,也欢迎大家继续支持本站获取更多技术资源。
JavaScript异步发送HTTP请求时怎么优雅地处理错误
2026-11-05 17:10:44
5款主流JS在线运行工具对比:CodePen、JSFiddle与StackBlitz怎么选
2026-11-05 17:04:04
JavaScript入门书籍避坑:这些书不适合初学者
2026-11-05 16:31:15
JS使用Math.round实现保留两位小数的原理与代码
2026-11-05 15:35:55
JavaScript 原生 Date 对象怎么实现日期加减
2026-11-05 14:30:00
