目录
一、主要思路
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里的全部标签用获取。
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>
六、效果展示