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 相关文章推荐
JQuery 入门实例1
Jun 25 Javascript
javascript匿名函数应用示例介绍
Mar 07 Javascript
confirm的用法示例用于按钮操作时确定是否执行
Jun 19 Javascript
jQuery中focus事件用法实例
Dec 26 Javascript
jQuery多级手风琴菜单实例讲解
Oct 22 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
Aug 21 Javascript
jquery实现拖动效果(代码分享)
Jan 25 Javascript
Angularjs 手写日历的实现代码(不用插件)
Oct 18 Javascript
JS实现的类似微信聊天效果示例
Jan 29 Javascript
React 实现车牌键盘的示例代码
Dec 20 Javascript
JavaScript监听触摸事件代码实例
Dec 30 Javascript
nuxt 每个页面head标签内容设置方式
Nov 05 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
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
2010/03/27 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
php支持断点续传、分块下载的类
2016/05/02 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
2018/10/12 PHP
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
JQuery 的跨域方法推荐_可跨任何网站
2016/05/18 Javascript
详解vue父子模版嵌套案例
2017/03/04 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
js实现复制功能(多种方法集合)
2018/01/06 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
python实现给数组按片赋值的方法
2015/07/28 Python
Python中文分词实现方法(安装pymmseg)
2016/06/14 Python
python负载均衡的简单实现方法
2018/02/04 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
Python求平面内点到直线距离的实现
2020/01/19 Python
浅析python连接数据库的重要事项
2021/02/22 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
什么是View State?
2013/01/27 面试题
个人师德师风自我剖析材料
2014/09/29 职场文书
资产运营委托书范本
2014/10/16 职场文书
文明单位申报材料
2014/12/23 职场文书
承诺保证书格式
2015/02/28 职场文书
2015年五一劳动节慰问信
2015/03/23 职场文书
2015年老干部工作总结
2015/04/23 职场文书
2015年节能降耗工作总结
2015/05/22 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
中秋节晚会开场白
2015/05/29 职场文书
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python