JS使用时间戳实现倒计时

1,747 阅读1分钟

JS使用时间戳实现倒计时

1、点击按钮开始倒计时

2、获取点击按钮

3、开启定时器,每一秒调用一次,显示实时动态倒计时

​ 3.1 获取当前的时间戳

​ 3.2设置截止的时间戳

​ 3.3获取倒计时的时长

​ 3.4 声明变量保存倒计时的几个时间

​ 3.5如果倒计时小于10,则补'0'

​ 3.6把倒计时渲染到页面

代码实现:

html部分

<div>
        <span id="day">00天</span>
        <span id="house">00时</span>
        <span id="minutes">00分</span>
        <span id="seconds">00秒</span>
        <button class="btn">开始倒计时</button>
    </div>

js部分

  // 获取倒计时按钮
        let btn = document.querySelector('.btn')
        btn.addEventListener('click', function() {
            //开启定时器
            let timeId=setInterval(function() {
                //获取当前时间戳
                var now = +new Date();
                //设置截止时间戳
                var end = +new Date("2022/1/19 18:53:00");
                //倒计时的时长
                let time = end - now;
                //声明变量 d,h,m,s保存倒计时的时间
                var d, h, m, s;
                    d = parseInt(time / 1000 / 60 / 60 / 24);
                    h = parseInt(time / 1000 / 60 / 60 % 24);
                    m = parseInt(time / 1000 / 60 % 60);
                    s = parseInt(time / 1000 % 60);
                    // 补'0'
                    d = d < 10 ? '0' + d : d
                    h = h < 10 ? '0' + h : h
                    m = m < 10 ? '0' + m : m
                    s = s < 10 ? '0' + s : s
                        // 将倒计时渲染到每一个span中
                    document.querySelector('#day').innerHTML = d + "天";
                    document.querySelector('#house').innerHTML = h + "时";
                    document.querySelector('#minutes').innerHTML = m + "分";
                    document.querySelector('#seconds').innerHTML = s + "秒";
                if(time<0){
                //关闭定时器
                    clearInterval(timeId)
                }
            }, 1000);
        })