JS倒计时功能

大家好,我在这里介绍的是倒计时功能,有些小伙伴应该是不懂得怎么计算剩余时间,那就来看看下面的JS代码吧,其实就是一个简单的数学公式哈
3x / 3y = 1x / 1y
懒人的话,嗯嗯就这边吧 —> 好好学习天天向上

1、THML

<span class="wrapper">
    <em></em>
    <span></span>
    <em></em>
    <span></span>
    <em></em>
    <span></span>
    <em></em>
    <em></em>
    <span></span>
  </span>

2、JS

某个日期的倒计时
let ems = document.querySelectorAll('wrapper em')
let deadline = new Date(2019, 2, 11, 0, 0, 0) //获取截止日期时间戳
let timmer = setInterval(() => {
  let now = Date.now() //获取当前日期时间戳
  let leftMsTime = deadline.getTime() - now //获取间隔时间戳,为毫秒
  if (leftMsTime > 0) {
    let leftTime = leftMsTime / 1000 //获取间隔时间戳,为秒

    let day = Math.floor(leftTime / (60 * 60 * 24)) //总的秒数除以一天的秒数得出总的秒数对应多少天
    //总的(秒数) / ?(天) = 60 * 60 * 24(秒数) / 1(天)
    let hour = Math.floor(leftTime / (60 * 60) % 24) //总的秒数除以一小时的秒数对应多少小时,再对一天24小时取余
    //总的(秒数) / ?(小时) = 60 * 60(秒数) / 1(小时)
    //?(小时)% 24(小时)= 余数(小时)
    let minute = Math.floor(leftTime / 60 % 60) //总的秒数除以一分钟的秒数对应多少分钟,再对一小时60分钟取余
    //总的(秒数) / ?(分钟) = 60(秒数) / 1(分钟)
    //?(分钟)% 60(分钟)= 余数(分钟)
    let second = Math.floor(leftTime % 60) //总的秒数对60取余对应剩余秒数
    //总的(秒数)% 60(秒数)= 余数(秒数)
    let ms = Math.floor(leftMsTime % 1000 / 100) //总的毫秒数对1000取余对应剩余毫秒数为三位数,再除以100,Math.floor会将后两位数清除
    //总的(毫秒数)% 1000(毫秒数)= 余数(毫秒数)

    ems[0].innerText = day
    ems[1].innerText = hour
    ems[2].innerText = minute
    ems[3].innerText = second + '.'
    ems[4].innerText = ms
  } else {
    clearInterval(timmer)
    return
  }
}, 100);
具体某个时分秒的倒计时
let ems = document.querySelectorAll('.wrapper em')
let countdown = 5 * 60 * 60
let timmer = setInterval(() => {
  countdown--
  if (countdown < 0) {
    clearInterval(timmer)
    return
  }
  let hour = Math.floor(countdown / (60 * 60))
  let minute = Math.floor(countdown / 60 % 60)
  let second = Math.floor(countdown % 60)
  
  ems[1].innerText = hour
  ems[2].innerText = minute
  ems[3].innerText = second
}, 1000);

好啦,就到这里啦!!!!!!!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript 实现倒计时功能的基本思路是获取当前时间和目标时间的差值,然后使用定时器每秒更新差值,最后将差值转化为天、小时、分钟、秒等格式进行展示。以下是一个简单的倒计时示例: HTML 代码: ```html <div id="countdown"></div> ``` JavaScript 代码: ```js // 目标时间,这里设置为 2022 年 1 月 1 日 0 点 0 分 0 秒 const targetTime = new Date('2022-01-01T00:00:00Z').getTime(); // 更新倒计时函数 function updateCountdown() { // 获取当前时间 const currentTime = new Date().getTime(); // 计算时间差 const timeDiff = targetTime - currentTime; // 转换为天、小时、分钟、秒 const days = Math.floor(timeDiff / (1000 * 60 * 60 * 24)); const hours = Math.floor((timeDiff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); const minutes = Math.floor((timeDiff % (1000 * 60 * 60)) / (1000 * 60)); const seconds = Math.floor((timeDiff % (1000 * 60)) / 1000); // 显示倒计时 document.getElementById('countdown').innerHTML = `距离 2022 年 1 月 1 日还有 ${days} 天 ${hours} 小时 ${minutes} 分钟 ${seconds} 秒`; } // 每秒更新一次倒计时 setInterval(updateCountdown, 1000); ``` 在上面的代码中,我们首先定义了目标时间 `targetTime`,然后编写了一个 `updateCountdown` 函数来更新倒计时。该函数首先获取当前时间 `currentTime`,然后计算时间差 `timeDiff`,最后将时间差转换为天、小时、分钟、秒等格式并显示在页面上。 最后,我们使用 `setInterval` 函数每秒更新一次倒计时。这样,用户就可以在页面上看到距离目标时间的倒计时了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值