实现倒计时 JavaScript(定时器 setInterval)

本文展示了如何使用JavaScript实现一个实时倒计时功能,精确计算到国庆节的剩余天数、小时、分钟和秒数。通过获取当前时间并计算与指定日期之间的差距,动态更新页面上的时间显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 运行结果

 2  JavaScript 代码

<script>
    //1.获取元素
    var day = document.querySelector('.day');
    var hour = document.querySelector('.hour');
    var minute = document.querySelector('.minute');
    var second = document.querySelector('.second');
    var inputTime = +new Date('2022-10-1 00:00:00');
    //先调用一次函数,防止刷新空白
    countDown();
    //开启定时器:每隔一秒调用一次
    setInterval(countDown, 1000);
    //2.定义回调函数
    function countDown() {
        //获取当前时间的时间戳(毫秒)
        var nowTime = +new Date();
        // console.log(date);
        //times 剩余时间总的秒数 
        var times = (inputTime - nowTime) / 1000;
        var s = parseInt(times % 60);
        s = s < 10 ? '0' + s : s;
        second.innerHTML = s;
        var min = parseInt(times / 60 % 60);
        min = min < 10 ? '0' + min : min;
        minute.innerHTML = min;
        var h = parseInt(times / 60 / 60 % 24);
        h = h < 10 ? '0' + h : h;
        hour.innerHTML = h;
        var days = parseInt(times / 60 / 60 / 24);
        day.innerHTML = days;
    }

</script>

 3 HTML结构

<body>
    <div>
        <p>距离国庆还有</p>
        <span class="day"></span>天
        <span class="hour"></span>时
        <span class="minute"></span>分
        <span class="second"></span>秒
    </div>
</body>

4 CSS 样式

<style>
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    div {
        height: 125px;
        width: 270px;
        margin: 100px auto;
        padding: 10px;
        background-color: coral;
        text-align: center;
    }

    p {
        display: block;
        font-size: 25px;
        font-weight: 700;
        color: #fff;
        margin-bottom: 20px;
    }

    span {
        display: inline-block;
        width: 40px;
        height: 40px;
        background-color: #555;
        color: #fff;
        font-size: 20px;
        font-weight: 700;
        text-align: center;
        line-height: 40px;
    }
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值