JS实现针对给定时间的倒计时功能示例
作者:布瑞泽的童话 时间:2024-04-16 09:46:57
本文实例讲述了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>
希望本文所述对大家JavaScript程序设计有所帮助。
标签:JS,倒计时
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
基于Python实现简单的定时器详解
2021-04-12 01:21:28
![](https://img.aspxhome.com/file/2023/5/95895_0s.png)
python logging添加filter教程
2022-08-21 00:36:43
装了 Access 2003 安全更新 (KB981716) 之后 Access 打不开
2010-12-09 19:59:00
Python dict和defaultdict使用实例解析
2022-12-24 20:44:19
![](https://img.aspxhome.com/file/2023/1/80631_0s.png)
Python 字典dict使用介绍
2021-09-23 16:58:51
SQL窗口函数之排名窗口函数的使用
2024-01-26 18:49:31
![](https://img.aspxhome.com/file/2023/8/102038_0s.png)
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2023-12-23 19:32:54
![](https://img.aspxhome.com/file/2023/6/70086_0s.png)
vue自定义过滤器创建和使用方法详解
2024-05-09 15:17:06
Golang初始化MySQL数据库方法浅析
2024-01-16 23:49:20
使用navicat将csv文件导入mysql
2024-01-17 07:06:38
![](https://img.aspxhome.com/file/2023/2/65302_0s.png)
禁用JavaScript脚本来复制网站内容
2007-02-03 11:30:00
Python while、for、生成器、列表推导等语句的执行效率测试
2021-03-05 02:17:54
Python单向链表和双向链表原理与用法实例详解
2021-11-21 15:04:27
![](https://img.aspxhome.com/file/2023/2/69522_0s.png)
微信公众平台开发教程(六)获取个性二维码的实例
2024-04-10 11:04:12
![](https://img.aspxhome.com/file/2023/6/136796_0s.png)
详解css定位与定位应用
2007-05-11 16:52:00
![](https://img.aspxhome.com/file/uploadpic/20075/2007511165230659.png)
Javascript实现单选框效果
2024-04-23 09:06:42
![](https://img.aspxhome.com/file/2023/7/135937_0s.jpg)
淘宝CSS框架研究(1):Reset CSS(八卦篇)
2009-03-31 12:58:00
Tensorflow加载预训练模型和保存模型的实例
2022-06-03 05:55:41
python列表的逆序遍历实现
2021-08-02 02:01:28
![](https://img.aspxhome.com/file/2023/4/131764_0s.png)
Python使用bar绘制堆积/带误差棒柱形图的实现
2021-06-26 12:42:05
![](https://img.aspxhome.com/file/2023/0/97330_0s.png)