制作页面倒计时器,选定一个未来时间,得到几天几时几分几秒的倒计时。
在这里选择使用两个时间相差的毫秒数来计算相对应的天数、小时数、分钟数和秒数。为了使代码看起来简洁,进行了封装函数。
1.setInterval(,1000)倒计时函数,且每隔1000ms就循环执行,以实现倒计时的效果。
2.关于这里毫秒值获得,在前面js的时间对象博客中有详细说明
3.在setInterval()函数中调用的countdown函数不能加(),因为加上之后会自动调用函数,使得倒计时不能正常实现。
注意:1000ms = 1s
<!-- 文本显示标签 -->
<p></p>
<script>
var p = document.querySelector('p'); //获得p标签事件
var endtime = new Date('2022-7-31 12:00:00').getTime(); //未来时间的毫秒值
setInterval(countdown,1000); //倒计时函数
function countdown(){
var nowtime = new Date().getTime(); //现在时间的毫秒值
var time = endtime - nowtime; //两个时间的毫秒值差,用于下面时间的计算
var day = parseInt(time/(1000*60*60*24)); //天数
var hour = parseInt(time/(1000*60*60)%24); //小时数
var minute = parseInt(time/1000/60%60); //分钟数
var seconds = parseInt(time/1000%60); //秒数
p.innerText = day+'天'+hour+':'+minute+':'+seconds; //把内容添加到p标签中
}
</script>
结果展示: