JS 封装倒计时
最近的需求是:网站使用 polyv 做的直播功能,左侧有一个倒计时功能
设计稿效果如图:

前端实现效果如图:

话不多说,直接上代码
HTML 代码片段: <div class="countDown"> <span id="_d"></span>天 <span id="_h"></span> <span id="_m"></span> <span id="_s"></span> </div>
注意⚠️:样式自己调试一下
JS 代码片段: document.addEventListener('DOMContentLoaded', () => { // 设置开始时间 var begDate = new Date(开始时间).getTime() function countTime () { var date = new Date().getTime() // 现在秒数 // 时间差 var begTime = begDate - date // 开始秒数 - 现在秒数 距离活动开始 // 个位数前补 0 function addZero (i) { return i < 10 ? '0' + i : i + '' }// 定义变量 d,h,m,s保存倒计时的时间 var d, h, m, s var day = document.getElementById('_d') var hour = document.getElementById('_h') var min = document.getElementById('_m') var sec = document.getElementById('_s') if (begTime >= 0) { // 如果开始时间大于等于0 的时候 执行 d = Math.floor(begTime / 1000 / 60 / 60 / 24) h = Math.floor(begTime / 1000 / 60 / 60 % 24) m = Math.floor(begTime / 1000 / 60 % 60) s = Math.floor(begTime / 1000 % 60) day.innerHTML = addZero(d) hour.innerHTML = addZero(h) min.innerHTML = addZero(m) sec.innerHTML = addZero(s) } else { // 结束的时候执行这里 day.innerHTML = '00' hour.innerHTML = '00' min.innerHTML = '00' sec.innerHTML = '00' clearTimeout(countTime) // 结束的时候清除定时器 return // 并停止这个函数 } setTimeout(countTime, 1000) // 每一秒执行一次这个函数 } countTime() // 执行函数 })

浙公网安备 33010602011771号