js 倒计时

js实现倒计时,其实很简单,然而现在的公司居然一直用flash来做,太麻烦了,先写一个倒计时天数的,一行代码实现

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
    </head>
    <style type="text/css">
        body {
            font-size: 20px;
        }
        input{
            font-size: 40px;
        }
    </style>
    <script>
        window.onload = function() {
            var newtime = new Date(); //获取现在日期
            var endtim = new Date("2018-06-3"); //设置结束日期
            var psel = $("#countdown").val(Math.ceil((endtim - newtime) / 86400000)); //计算并输出
        }
    </script>

    <body>
        距离设定日期还有:<input type="button" name="countdown" id="countdown" value="无数据" />天
    </body>

</html>

上面这个因为是每天刷新一次,所以没有加setInterval,下面写一个复杂点的,可以输入日期的倒计时

直接上代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
    </head>
    <style type="text/css">
        body {
            font-size: 20px;
            padding: 100px;
        }

        input {
            border: 0px;
            background-color: rgba(0, 0, 0, 0);
            font-size: 20px;
            width: 200px;
        }

        .ipt {
            font-size: 30px;
        }

        .djs {
            border: 0px;
            background-color: rgba(0, 0, 0, 0);
            font-size: 20px;
            width: 32px;
        }

        .four {
            width: 70px;
        }

        .three {
            width: 62px;
        }

        .two {
            width: 33px;
        }
    </style>
    <script>
        function start() {
            //定时器:每隔10毫秒刷新一次
            var kill = window.setInterval("output()", 10);
        }
        function output() {
            //获取当前日期
            var startTime = new Date();
            //获取页面的日期组合成字符串
            var et = $("#ey").val() + "-" + $("#em").val() + "-" + $("#ed").val() + " " + $("#eh").val() + ":" + $("#emin").val() + ":00";
            //将字符串类型的日期格式化为标准日期格式
            var endTime = new Date(et);
            //将格式化后的时间显示到页面
            $("#EndTime").val(endTime);
            //计算时间差
            var nTime = endTime.getTime() - startTime.getTime();
            //计算天数
            var d = Math.floor(nTime / 86400000);
            //计算小时
            var h = Math.floor((nTime - (86400000 * d)) / 3600000);
            //计算分钟
            var m = Math.floor((nTime - (86400000 * d) - (3600000 * h)) / 60000);
            //计算秒数
            var s = Math.floor((nTime - (86400000 * d) - (3600000 * h) - (60000 * m)) / 1000);
            //计算毫秒数
            var t = Math.floor((nTime % 1000)*100);
            //将计算后的数据显示到页面去
            $("#d").val(d);
            $("#h").val(h);
            $("#m").val(m);
            $("#s").val(s);
            $("#t").val(t);
        }
    </script>
    <body onload="start()">
        <div>
            设置结束时间为: 
            <input class="ipt four" type="text" name="ey" id="ey" value="2018" /> 年
            <input class="ipt two" type="text" name="em" id="em" value="06" /> 月
            <input class="ipt two" type="text" name="ed" id="ed" value="19" /> 日    

            <input class="ipt two" type="text" name="eh" id="eh" value="00" /> :
            <input class="ipt two" type="text" name="emin" id="emin" value="00" />
        </div>
        <div style="margin-top: 50px;">
            获取到结束时间为:<input style="width: 500px;" type="text" name="EndTime" id="EndTime" value="无数据!">
        </div>
        <div style="margin-top: 50px;">
            倒计时还剩:
            <input class="ipt three" type="text" name="d" id="d" value="XXX" />天   
            <input class="djs" type="text" name="h" id="h" value="XX" />:
            <input class="djs" type="text" name="m" id="m" value="XX" />:
            <input class="djs" type="text" name="s" id="s" value="XX" />  
            <input class="djs" type="text" name="t" id="t" value="XX" />
        </div>
    </body>
</html>

这个可以输入任意日期和时间来计算距离今天的时间,精确到毫秒,其实也很简单,懒得解释,看注释吧

转载于:https://blog.51cto.com/13993319/2287214

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值