js如何实现倒计时功能?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="box">
        距离8月1日还有XXX天XX小时XX分钟XX秒
    </div>
    <script>
        // 封装一个自动补零的函数
        function buling(time){
            if(time<10){
                time='0'+time
            }
            return time
        }

        function setTime() {

            // 获取当前时间
            let curTime = new Date()

            // 获取将来时间
            let fuTime = new Date('2020-10-01 17:57:00')

            // 获取时间差
            let timeDiff = fuTime - curTime

            // 判断时间差
            if (timeDiff >= 0) {
                // 距离当前的天数
                let day = Math.floor(timeDiff / 1000 / 60 / 60 / 24)

                // 距离当前剩余小时
                let hour = Math.floor(timeDiff / 1000 / 60 / 60 % 24)
                hour = buling(hour)
                
                // 距离当前剩余分钟
                let minute = Math.floor(timeDiff / 1000 / 60 % 60)
                minute = buling(minute)

                // 剩余秒
                let second = Math.floor(timeDiff / 1000 % 60)
                second = buling(second)

                // 插入网页
                box.innerHTML = ` 距离10月1日还有${day}天${hour}小时${minute}分钟${second}秒 `
            }

        }

        // 立即执行一次
        setTime()

        // 定时器,每秒执行一次
        setInterval(setTime, 1000)

    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值