<div>
<span class="hour">1</span>
<span class="minute">2</span>
<span class="second">3</span>
</div>
<script>
var hour = document.querySelector('.hour');
var minute = document.querySelector('.minute');
var second = document.querySelector('.second');
var inputTime = +new Date('2022-5-23 12:00:00'); //用户输入时间的总毫秒数
countDown() //第一次执行也是间隔毫秒数 因此刚舒心页面会有空白
//最好采取封装函数的方式,这样可以先调用一次这个函数,防止刚开始刷新页面有空 白的问题
window.setInterval(countDown,1000)
// setInterval 定时器是一直循环触发的 setTimeout是只执行一次
function countDown(){
var nowTime = +new Date();//当前时间的总毫秒数
var times = (inputTime-nowTime)/1000;//剩余时间的总毫秒数
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 ? '0' + m : m;
minute.innerHTML = m;
var s = parseInt(times %60);//剩余的秒数
s = s < 10 ? '0' + s : s;
console.log(s)
second.innerHTML = s;
}
</script>
08-22
373
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-21
371
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)