<script> window.addEventListener('load', function () { var day = document.querySelector('.day') var hours = document.querySelector('.hours') var minutes = document.querySelector('.minutes') var seconds = document.querySelector('.seconds') function countDown(time) { var nowTime = +new Date(); // 返回当前时间总的毫秒数 var inputTime = +new Date(time); // 返回输入时间总的毫秒数 var times = (inputTime - nowTime) / 1000; //剩余时间总的秒数 var d = parseInt(times / 60 / 60 / 24).toString().padStart(2, '0') // 天 var h = parseInt(times / 60 / 60 % 24).toString().padStart(2, '0') //时 var m = parseInt(times / 60 % 60).toString().padStart(2, '0') // 分 var s = parseInt(times % 60).toString().padStart(2, '0')// 当前的秒 day.innerHTML = d + '天' hours.innerHTML = h + '时' minutes.innerHTML = m + '分' seconds.innerHTML = s + '秒' } // countDown('2022-12-12 00:00:00') setInterval(function () { countDown('2022-12-20 00:00:00')}, 1000) }) </script>这个怎么改成settimeout()
时间: 2024-01-19 16:02:17 浏览: 253
window.addEventListener来解决让一个js事件执行多个函数
可以将setInterval()函数改为setTimeout()函数,并在函数内部重新调用setTimeout()函数实现倒计时的效果,代码如下:
```
<script>
window.addEventListener('load', function () {
var day = document.querySelector('.day')
var hours = document.querySelector('.hours')
var minutes = document.querySelector('.minutes')
var seconds = document.querySelector('.seconds')
function countDown(time) {
var nowTime = +new Date();
var inputTime = +new Date(time);
var times = (inputTime - nowTime) / 1000;
var d = parseInt(times / 60 / 60 / 24).toString().padStart(2, '0')
var h = parseInt(times / 60 / 60 % 24).toString().padStart(2, '0')
var m = parseInt(times / 60 % 60).toString().padStart(2, '0')
var s = parseInt(times % 60).toString().padStart(2, '0')
day.innerHTML = d + '天'
hours.innerHTML = h + '时'
minutes.innerHTML = m + '分'
seconds.innerHTML = s + '秒'
// 继续执行倒计时
setTimeout(function () {
countDown('2022-12-20 00:00:00');
}, 1000);
}
// 初始执行倒计时
setTimeout(function () {
countDown('2022-12-20 00:00:00');
}, 1000);
})
</script>
```
注意,在使用setTimeout()函数时,需要在函数内部再次调用setTimeout()函数,以实现递归调用,达到倒计时的效果。同时,在初始执行倒计时时,也需要使用setTimeout()函数。
阅读全文