js实现简单的倒计时功能

该文章展示了一个使用HTML、CSS和JavaScript实现的倒计时功能,用户可以输入目标的年月日,点击开始按钮后,页面会显示从当前时间到所输入日期的剩余天数、小时、分钟和秒。JavaScript代码中包含了对用户输入的处理、时间戳的计算以及定时更新倒计时的方法。
摘要由CSDN通过智能技术生成

使用Date内置对象实现一个简单的倒计时,用户输入目标年月日,点击开始可以看到剩余时间。新手练习,欢迎大家讨论并指出错误。注意不可以输入当前时间之前的时间
效果如图
在这里插入图片描述

html代码如下

<!-- 倒计时 -->
    <div class="daojishi">
        <h2>倒计时</h2>
        <div class="shuru">
            请输入:
            <input type="text"><input type="text"><input type="text"></div>
        <div class="begin">开始</div>
        <div class="shengyu">现在距离-<em>0000</em>-还剩:</div>
        <div class="juti">
            <b class="on">00</b><b class="on">00</b>小时
            <b class="on">00</b>分钟
            <b class="on">00</b></div>
    </div>

css代码如下

.daojishi {
            width: 700px;
            height: 420px;
            background-color: #9e9e9e;
            margin: auto;
        }

        h2 {
            margin: auto;
            text-align: center;
            margin-bottom: 20px;
            font-size: 28px;
        }

        .shuru {
            margin: auto;
            text-align: center;
            font-size: 16px;
        }

        .begin {
            width: 100px;
            height: 100px;
            border-radius: 50%;
            text-align: center;
            line-height: 100px;
            background-color: #1e1e1e;
            color: white;
            margin: auto;
            font-size: 24px;
            cursor: pointer;
            margin-top: 30px;
            margin-bottom: 30px;
        }

        .shengyu {
            text-align: center;
            font-size: 22px;
        }

        .juti {
            text-align: center;
            font-size: 22px;
            margin-top: 20px;
        }

        .on {
            color: rgba(255, 0, 0, 0.748);
        }

js代码如下

// 倒计时
        // 获取
        var input = document.getElementsByTagName('input');
        var begin = document.getElementsByClassName('begin')[0];
        var em = document.getElementsByTagName('em')[0];
        var on = document.getElementsByClassName('on');

        // begin点击事件
        begin.onclick = function () {
             //定时器,一秒变一下
           setInterval(function(){
             // 获取取到的年月日 补0
             var year = input[0].value;
            year = year < 10 ? '0' + year : year;
            var month = input[1].value;
            month = month < 10 ? '0' + month : month;
            var date = input[2].value;
            date = date < 10 ? '0' + date : date;
            // 输入的日期赋给em
            em.innerText = year + '年' + month + '月' + date + '日';
            console.log(em);
            // 创建data1对象,输入的时间转换为时间戳
            var date1 = new Date(year + '-' + month + '-' + date);
            console.log(date1);
            var date1c = +new Date(date1);
            console.log(date1c);
            // 获取当前时间戳
            var date2c = +new Date();
            console.log(date2c);
            // 时间戳相减 注意要除以1000转为秒
            var datecc = (date1c - date2c) / 1000;
            // 得到的结果转换为天时分秒,注意补0
            var d = parseInt(datecc / 60 / 60 / 24);
            var h = parseInt(datecc / 60 / 60 % 24);
            h = h < 10 ? '0' + h : h;
            var m = parseInt(datecc / 60 % 60);
            m = m < 10 ? '0' + m : m;
            var s = parseInt(datecc % 60);
            s = s < 10 ? '0' + s : s;
            // 赋给结果
            on[0].innerText = d;
            on[1].innerText = h;
            on[2].innerText = m;
            on[3].innerText = s;
           },1000)
        }

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单JavaScript实现页面倒计时功能的示例代码: ``` // 设置倒计时的结束时间,这里设置为30秒后 var countDownDate = new Date().getTime() + 30000; // 更新倒计时的函数 var x = setInterval(function() { // 获取当前时间 var now = new Date().getTime(); // 计算距离结束时间还剩余多少时间 var distance = countDownDate - now; // 将时间转换为分钟和秒数 var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); // 将时间显示在页面上 document.getElementById("timer").innerHTML = minutes + "分" + seconds + "秒"; // 判断倒计时是否结束 if (distance < 0) { clearInterval(x); document.getElementById("timer").innerHTML = "时间到!"; } }, 1000); // 每秒钟更新一次倒计时 ``` 在以上代码中,我们首先设置了倒计时的结束时间,这里设置为30秒后。然后我们通过 setInterval() 函数来每秒钟更新一次倒计时。在更新倒计时的函数中,我们首先获取当前时间,然后计算距离结束时间还剩余多少时间。接着,我们将时间转换为分钟和秒数,并将时间显示在页面上。最后,我们判断倒计时是否结束,如果结束,则清除定时器并显示时间到了的提示信息。 您可以将以上代码复制到您的网页中,并将需要显示倒计时的元素的 id 修改为“timer”,即可实现页面倒计时功能。希望能对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值