目录
实现效果
案例分析
代码分析
代码实现 (完整)
背景图片引用
实现效果
案例分析
1.倒计时是不断变化的 所以需要一个定时器(setInterval)
2.三个盒子通过 innerHTML 进行赋值 放入时分秒
3.使用Date()对象获取当前时间(时间戳)
4.传递参数获取活动开始的时间,两次时间的单位都是秒
5.两个时间相减可得到相距的时间
6.通过计算得到小时,分钟,秒钟 注意要用到补零
7.使用setInterval(function(){},1000)函数每1秒调用一次倒计时函数(1000为毫秒)
8.调用倒计时函数
代码分析
html部分
<div class="timedown"> <div class="text1">京东秒杀</div> <div class="text2">18:00点场 距结束</div> <span class="hour">1</span> <span class="minute">2</span> <span class="second">3</span> </div>
css部分(简单布局)
<style> .timedown { position: relative; width: 200px; height: 270px; background: url(../img/flash.png); } .text1 { text-align: center; padding-top: 30px; font-size: 35px; font-weight: 1000; color: white; } .text2 { text-align: center; padding-top: 100px; font-size: 17px; font-weight: 1000; color: white; } span { position: relative; display: inline-block; width: 30px; height: 30px; background-color: black; padding: 5px; margin-left: 18px; margin-top: 12px; color: white; text-align: center; font-size: 15px; line-height: 30px; } </style>
js部分(重要)
(1)获取元素文章来源:https://www.toymoban.com/news/detail-486697.html
var hour = document.querySelector(".hour") var minute = document.querySelector(".minute") var second = document.querySelector(".second") var inputTime = +new Date("2022-10-7 20:00:00")
(2)注册事件 处理程序文章来源地址https://www.toymoban.com/news/detail-486697.html
- 注意看:这里在设置倒计时函数之前就调用了倒计时函数,目的是避免刷新页面出现延迟的现象(也就是说使页面中不再出现span标签中原本的文字内容“123”)
- 这里用innerHTML 给时分秒 重新赋值
countDown(); setInterval(countDown, 1000);//这个回调函数如果是调用的情况,不用加() function countDown() { var nowTime = +new Date(); var times = (inputTime - nowTime) / 1000; var h = parseInt(times / 60 / 60 % 24); h = h > 10 ? h : h+"0" ; hour.innerHTML = h;//给hour重新赋值h var m = parseInt(times / 60 % 60); m = m > 10 ? m : "0" + m; minute.innerHTML = m; var s = parseInt(times % 60); s = s > 10 ? s : "0" + s; second.innerHTML = s; }
代码实现 (完整)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>模拟京东秒杀倒计时</title> <style> .timedown { position: relative; width: 200px; height: 270px; background: url(../img/flash.png); } .text1 { text-align: center; padding-top: 30px; font-size: 35px; font-weight: 1000; color: white; } .text2 { text-align: center; padding-top: 100px; font-size: 17px; font-weight: 1000; color: white; } span { position: relative; display: inline-block; width: 30px; height: 30px; background-color: black; padding: 5px; margin-left: 18px; margin-top: 12px; color: white; text-align: center; font-size: 15px; line-height: 30px; } </style> </head> <div class="timedown"> <div class="text1">京东秒杀</div> <div class="text2">18:00点场 距结束</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-10-7 20:00:00") countDown(); setInterval(countDown, 1000); function countDown() { var nowTime = +new Date(); var times = (inputTime - nowTime) / 1000; var h = parseInt(times / 60 / 60 % 24); h = h > 10 ? h : h+"0" ; hour.innerHTML = h;//给hour重新赋值h var m = parseInt(times / 60 % 60); m = m > 10 ? m : "0" + m; minute.innerHTML = m; var s = parseInt(times % 60); s = s > 10 ? s : "0" + s; second.innerHTML = s; } </script> <body> </html>
背景图片引用
到了这里,关于案例:模拟京东秒杀倒计时(完整代码)【前端实现】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!