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

html代码如下

<!-- 倒计时 -->
    <div class="daojishi"&gt;
        <h2&gt;倒计时</h2&gt;
        <div class="shuru"&gt;输入:
            <input type="text"&gt;<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)
        }

原文地址:https://blog.csdn.net/weixin_43430432/article/details/129898983

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_47574.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注