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


Posted in Javascript onApril 11, 2017

本文实例讲述了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>
Javascript 相关文章推荐
改变javascript函数内部this指针指向的三种方法
Apr 23 Javascript
分页栏的web标准实现
Nov 01 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
Jul 09 Javascript
html5+javascript制作简易画板附图
Apr 25 Javascript
JS取得绝对路径的实现代码
Jan 16 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
Feb 27 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
Jan 10 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
Jan 21 Javascript
js轮播图的插件化封装详解
Jul 17 Javascript
详解js模板引擎art template数组渲染的方法
Oct 09 Javascript
JavaScript实现连连看连线算法
Jan 05 Javascript
React实现todolist功能
Dec 28 Javascript
vuejs绑定class和style样式
Apr 11 #Javascript
vue监听滚动事件实现滚动监听
Apr 11 #Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 #jQuery
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 #jQuery
JS中IP地址与整数相互转换的实现代码
Apr 10 #Javascript
详解vue组件化开发-vuex状态管理库
Apr 10 #Javascript
vue中如何引入jQuery和Bootstrap
Apr 10 #jQuery
You might like
PHP如何获取当前主机、域名、网址、路径、端口等参数
2017/06/09 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
2013/12/19 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
[53:21]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-CDEC
2014/05/22 DOTA
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
使用python统计文件行数示例分享
2014/02/21 Python
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
详解Python中的各种函数的使用
2015/05/24 Python
Python中动态检测编码chardet的使用教程
2017/07/06 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
毕业生动漫设计求职信
2013/10/11 职场文书
《可爱的动物》教学反思
2014/02/22 职场文书
公司运动会策划方案
2014/05/25 职场文书
新课培训心得体会
2014/09/03 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
怎样写家长意见
2015/06/04 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书
总结Python变量的相关知识
2021/06/28 Python