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 相关文章推荐
Chrome中JSON.parse的特殊实现
Jan 12 Javascript
JavaScript常用全局属性与方法记录积累
Jul 03 Javascript
JQuery中form验证出错信息的查看方法
Oct 08 Javascript
js采用concat和sort将N个数组拼接起来的方法
Jan 21 Javascript
Json解析的方法小结
Jun 22 Javascript
Vue.directive自定义指令的使用详解
Mar 10 Javascript
JavaScript中双符号的运算详解
Mar 12 Javascript
Vue.js事件处理器与表单控件绑定详解
Mar 20 Javascript
使用JavaScript开发跨平台的桌面应用详解
Jul 27 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
Dec 29 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
Apr 17 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
May 25 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 microtime获取浮点的时间戳
2010/02/21 PHP
PHP产生不重复随机数的5个方法总结
2014/11/12 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
JS焦点图切换,上下翻转
2011/05/12 Javascript
JS弹出层单纯的绝对定位居中示例代码
2014/02/18 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
el-select数据过多懒加载的解决(loadmore)
2019/05/29 Javascript
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
python的dataframe和matrix的互换方法
2018/04/11 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
企业法人授权委托书
2014/04/03 职场文书
火灾现场处置方案
2014/05/28 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
军事博物馆观后感
2015/06/05 职场文书
安全教育片观后感
2015/06/17 职场文书
初中团支书竞选稿
2015/11/21 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
TensorFlow的自动求导原理分析
2021/05/26 Python
node快速搭建后台的实现步骤
2022/02/18 NodeJs