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据option的value值快速设定初始的selected选项
Aug 13 Javascript
js中各浏览器中鼠标按键值的差异
Apr 07 Javascript
JS比较2个日期间隔的示例代码
Apr 15 Javascript
如何屏蔽防止别的网站嵌入框架代码
Aug 24 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
Jan 28 Javascript
浅析$.getJSON异步请求和同步请求
Jun 06 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
Nov 30 Javascript
JQuery学习总结【二】
Dec 01 Javascript
JS实现课堂随机点名和顺序点名
Mar 09 Javascript
vue-cli脚手架的安装教程图解
Sep 02 Javascript
AJAX在JQuery中的应用详解
Jan 30 jQuery
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
Aug 27 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编写一个简单的路由类
2011/04/13 PHP
php多文件上传下载示例分享
2014/02/20 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
php格式化时间戳
2016/12/17 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
python matplotlib imshow热图坐标替换/映射实例
2020/03/14 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
css3动画效果小结(推荐)
2016/07/25 HTML / CSS
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
建筑安全责任书范本
2014/07/24 职场文书
村级四风对照检查材料
2014/08/24 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
老人节标语大全
2014/10/08 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server