JavaScript

超轻量级php框架startmvc

JS实现针对给定时间的倒计时功能示例

更新时间:2020-05-05 16:54:02 作者:startmvc
本文实例讲述了JS实现针对给定时间的倒计时功能。分享给大家供大家参考,具体如下:有

本文实例讲述了JS实现针对给定时间的倒计时功能。分享给大家供大家参考,具体如下:

有时候,网站需要一个倒计时的特效来庆祝某些特别的日子。自己也实现了一个,占用内存也很小噢。其原理就是每隔一秒执行一次处理函数,将终点时间和现在的时间比较然后换算之后显示对应的值。

效果如下:

代码如下:


<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>倒计时</title>
 </head>
 <body>
 <input type="text" name="time" id="time" value="2017-09-22" />
 <input type="button" name="okbtn" id="okbtn" value="确认" />
 <br />
 <p id="textp">这里显示倒计时</p>
 </body>
<script type="text/javascript">
 var okbtn=document.getElementById("okbtn");
 textp=document.getElementById("textp");
 okbtn.onclick=function(){
 var time=document.getElementById("time");
 var timevalue=time.value;
 //通过正则表达式确认输入格式是否正确
 var patt=/^(\d{1,4})(-)(\d{1,2})\2(\d{1,2})$/;
 if(patt.test(timevalue)==false){
 //如果不正确
 textp.innerHTML="输入格式不满足YYYY-MM-DD";
 return false;
 }else{
 textp.innerHTML="这里显示倒计时";
 }
 //获取输入的年月日
 var timearray=timevalue.split("-");
 //ShowLeftTime(timearray[0],timearray[1],timearray[2]);
 setInterval(function(){ShowLeftTime(timearray[0],timearray[1],timearray[2]);},1000);
 }
 function ShowLeftTime(year,month,date){
 //得出剩余时间
 var now=new Date();
 var endDate=new Date(year,month-1,date);
 var leftTime=endDate.getTime()-now.getTime();
 var leftsecond=parseInt(leftTime/1000);
 var day=Math.floor(leftsecond/(60*60*24));
 var hour=Math.floor((leftsecond-day*24*60*60)/3600);
 var minute=Math.floor((leftsecond-day*24*60*60-hour*3600)/60);
 var second=Math.floor(leftsecond-day*60*60*24-hour*60*60-minute*60);
 //显示剩余时间
 textp.innerHTML="距离"+year+"年"+month+"月"+date+"日"
 +"还有"+day+"天"+hour+"小时"+minute+"分"+second+"秒";
 }
</script>
</html>

PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

在线日期/天数计算器: http://tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器: http://tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器: http://tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具: http://tools.jb51.net/code/unixtime

JS 给定时间 倒计时