• javaScript系列---【Date--倒计时案例】


    html代码:

      <div id="box">
            <h3>倒计时</h3>
            请输入:<input type="text" value="2022" />年 <input type="text" value="7" />月 <input type="text" value="26" /><button>开始</button>
            <p class="p1">现在距离- <span>0000</span> -还剩:</p>
            <p class="p2"><span>00</span>天 <span>00</span>小时 <span>00</span>分 <span>00</span>秒</p>
        </div>

    css代码:

     <style>
            #box {
                 500px;
                height: 500px;
                background: #eee;
                margin: 20px auto;
                text-align: center;
            }
    
            #box h3 {
                font-size: 32px;
                padding: 30px;
                color: white;
            }
    
            #box input {
                 100px;
            }
    
            button {
                 160px;
                height: 160px;
                background: #000;
                margin-top: 30px;
                border-radius: 80px;
                color: yellow;
                font-size: 40px;
            }
    
            .p1 span {
                font-size: 24px;
                color: yellow;
            }
    
            .p2 {
                font-size: 30px;
                color: white;
            }
    
            .p2 span {
                font-size: 40px;
                color: yellow;
            }
        </style>

    js代码:

      <script>
            // 获取元素
            var box = document.getElementById("box"),
                oInputs = box.getElementsByTagName("input"),
                btn = box.getElementsByTagName("button")[0],
                oSpans = box.getElementsByTagName("span");
    
            var timer = null;
    
            // 获取元素
            btn.onclick = function () {
                //保存输入框的值
                var y = oInputs[0].value;
                var m = oInputs[1].value;
                var d = oInputs[2].value;
    
                // 给span赋值
                oSpans[0].innerHTML = y + "" + zero(m) + "" + zero(d) + "";
    
                // 页面初始化
                downCount();
    
                // 防止用户多次点击先清除定时器
                window.clearInterval(timer);
    
                // 设置定时器
                timer = window.setInterval(downCount, 1000);
    
    
                // 倒计时
                function downCount() {
                    // 当前时间
                    var nowDate = new Date();
    
                    // 目标时间
                    var tarDate = new Date(y, m - 1, d);
    
                    // 日期对象直接直接相减可以得到毫秒差
                    var diffSeconds = parseInt((tarDate - nowDate) / 1000);
                    console.log(diffSeconds);
                    // 将秒值转为需要的时间
                    var day = parseInt(diffSeconds / 86400);
                    var hour = parseInt(diffSeconds % 86400 / 3600);
                    var minutes = parseInt(diffSeconds % 3600 / 60);
                    var seconds = diffSeconds % 60;
    
                    // 赋值的操作
                    oSpans[1].innerHTML = zero(day);
                    oSpans[2].innerHTML = zero(hour);
                    oSpans[3].innerHTML = zero(minutes);
                    oSpans[4].innerHTML = zero(seconds);
                }
            }
            // 补零操作
            function zero(val) {
                return val < 10 ? "0" + val : val;
            }
        </script>

    效果图:

  • 相关阅读:
    同一个String在使用不同的charset编码的时候equals仍然是返回true吗
    request的生存期只限于服务器跳转
    flex 客户端缓存SharedObject
    flex NaN
    oracle 任务使用
    oracle 数据泵
    datagrid 用法
    Windows系统中path环境变量详解
    [转]eclipse导入V7包出现错误解决办法
    由多线程引起的map取值为null的分析
  • 原文地址:https://www.cnblogs.com/chenhaiyun/p/14550861.html
Copyright © 2020-2023  润新知