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 相关文章推荐
editable.js 基于jquery的表格的编辑插件
Oct 24 Javascript
JQUERY对单选框(radio)操作的小例子
Apr 25 Javascript
火狐textarea输入法的bug的触发及解决
Jul 24 Javascript
jquery div拖动效果示例代码
Dec 08 Javascript
jQuery中parents()方法用法实例
Jan 07 Javascript
javascript折半查找详解
Jan 26 Javascript
javascript 判断两个日期之差的示例代码
Sep 05 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
Jul 04 Javascript
浅谈Javascript中的12种DOM节点类型
Aug 19 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
Dec 14 Javascript
详解从新建vue项目到引入组件Element的方法
Aug 29 Javascript
前端vue+elementUI如何实现记住密码功能
Sep 20 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 正则表达式小结
2009/08/31 PHP
php 将excel导入mysql
2009/11/09 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
2011/04/16 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
js给onclick事件赋值,动态传参数实例解说
2013/03/28 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
js控制浏览器全屏示例代码
2014/02/20 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
详解javascript replace高级用法
2019/02/17 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
python del()函数用法
2013/03/24 Python
Python通过select实现异步IO的方法
2015/06/04 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
python数据预处理 :数据抽样解析
2020/02/24 Python
Python @property及getter setter原理详解
2020/03/31 Python
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
法制宣传月活动总结
2014/04/29 职场文书
个人批评与自我批评
2014/10/15 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
离婚被告答辩状
2015/05/22 职场文书
繁星春水读书笔记
2015/06/30 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书