A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

写在前面:实现倒计时功能首先是得到目标时间,然后用当前时间减去目标时间,最后将时间差传化为天数、时、分、秒。由于得到的时间不能直接运算,可以采用object.getTime()方法转化成相同类型进行运算。

相关说明:如果想要显示界面好看些,可以添加一下样式。



<head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
                input{width:50px;height: 20px;border:1px solid black;}
                .time1 span{display:inline-block;width:40px;height: 20px;}
        </style>
</head>
<body>
        <form>目的日期:
                <input type="text" id="year"><span>年</span>
                <input type="text" id="month"><span>月</span>
                <input type="text" id="day"><span>日</span>
                <input type="text" id="hour"><span>时</span>
                <input type="text" id="minute"><span>分</span>
                <input type="text" id="second"><span>秒</span>
                <input type="button" value="确定">
        </form>
        <div class="time1">还剩时间:
                <span id="1"></span>天
                <span id="2"></span>时
                <span id="3"></span>分
                <span id="4"></span>秒
        </div>


        <script>
                function show(){
                        //获取目的日期
                        var myyear=document.getElementById("year").value;
                        var mymonth=document.getElementById("month").value-1;
                        var myday=document.getElementById("day").value;
                        var myhour=document.getElementById("hour").value;
                        var myminute=document.getElementById("minute").value;
                        var mysecond=document.getElementById("second").value;
                        var time=Number(new Date(myyear,mymonth,myday,myhour,myminute,mysecond));
                        // var time=new Date(myyear,mymonth,myday,myhour,myminute,mysecond).getTime();
                        //获取当前时间
                        var nowTime=Date.now();
                        // var nowTime=new Date().getTime();
                        //获取时间差
                        var timediff=Math.round((time-nowTime)/1000);
                        //获取还剩多少天
                        var day=parseInt(timediff/3600/24);
                        //获取还剩多少小时
                        var hour=parseInt(timediff/3600%24);
                        //获取还剩多少分钟
                        var minute=parseInt(timediff/60%60);
                        //获取还剩多少秒
                        var second=timediff%60;
                        //输出还剩多少时间
                        document.getElementById("1").innerHTML=day;
                        document.getElementById("2").innerHTML=hour;
                        document.getElementById("3").innerHTML=minute;
                        document.getElementById("4").innerHTML=second;
                        setTimeout(show,1000);
                        if(timediff==0){return;}
                        }
        </script>
写在最后:倒计时的难点主要是时间格式和数字格式的转换,转换时除了object.getTime()方法还有Number(object)方法,大家可以尝试使用一下。
---------------------
【转载,仅作分享,侵删】
作者:Ryan Ji
原文:https://blog.csdn.net/qq_42451979/article/details/81011612
版权声明:本文为博主原创文章,转载请附上博文链接!

1 个回复

倒序浏览
奈斯,感谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马