目录
一、主要思路
二、css样式
三、html代码
四、js内容
五、完整代码展示
六、效果展示
一、主要思路
1.通过内置时间函数实例化日期对象获取当前时间 new Date。
2.因为时间无法减去时间,有可能生成负数,所以采用时间戳的方法得到毫秒数形式的剩余时间,然后再把剩余时间转换为天、时、分、秒格式。
3.最后把所获得的内容赋值给定义的变量。
二、css样式
主要为了内容在页面展示美观,稍微美化一下。
<style>p{font-size: 36px;margin: 0 auto;text-align: center;line-height: 500px;}span{color: red;}</style> 
三、html代码
定义一个默认格式为JavaScript引入定义变量。
<p>倒计时:<span>0</span>天<span>0</span>时<span>0</span>分<span>0</span>秒</p> 
四、js内容
1.首先获取html里面的spans里的全部标签用querySelectorAll获取。
2.用endTime标签定义结束时间,并给结束时间赋值。
3.同理,用newTine标签定义结束标签。
4.定义diffTime用来取结束时间减去现在时间获取的毫秒。
5.getTime标签主要用来将获取的时间转化为毫秒形式。
6.除以1000是提前将毫秒转化为秒。
       var spans = document.querySelectorAll('span');var endTime = new Date ('2022-10-1 12:00:00').getTime();var newTime = new Date ().getTime();var diffTime = (endTime-newTime)/1000; 
1.定义day,hour,min,sen用来定义倒计时的天、时、分、秒。
2.parseInt用来将得到的值转化为整数形式。
3.用得到的秒/60得到多少分再/60得到多少时再/24得到多少天。
4.hour/60/60%24:用所得的时间把大数除以24取余得到还要多少小时,分,秒同理。
       var day = parseInt(diffTime/60/60/24);var hour = parseInt(diffTime/60/60%24);var min = parseInt(diffTime/60%60);var sen = parseInt(diffTime%60); 
将所得到的天、时、分、秒通过innerText方式给之前定义span标签赋值。
       spans[0].innerText = day;spans[1].innerText = honur;spans[2].innerText = min;spans[3].innerText = sen; 
最后将整个JavaScript中的内容定义一个函数中,在定时器中调用整个函数实现倒计时的效果。
showTime是我定义的函数名,1000代表1000毫米循环一次函数。
setInterval(showTime,1000) 
五、完整代码展示
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>p {font-size: 36px;margin: 0 auto;text-align: center;line-height: 500px;}span {color: red;}</style>
</head><body><p>倒计时:<span>0</span>天<span>0</span>时<span>0</span>分<span>0</span>秒</p><script>function showTime() {var spans = document.querySelectorAll('span');var endTime = new Date('2022-10-1 12:00:00').getTime();var newTime = new Date().getTime();var diffTime = (endTime - newTime) / 1000;var day = parseInt(diffTime / 60 / 60 / 24);var honur = parseInt(diffTime / 60 / 60 % 24);var min = parseInt(diffTime / 60 % 60);var sen = parseInt(diffTime % 60);spans[0].innerText = day;spans[1].innerText = honur;spans[2].innerText = min;spans[3].innerText = sen;}setInterval(showTime, 1000)</script>
</body></html> 
六、效果展示
















