多个js毫秒倒计时同时进行效果


Posted in Javascript onJanuary 05, 2016

本文实例讲解js毫秒倒计时同时进行效果的代码,分享给大家供大家参考,具体内容如下

实现功能:调用一个函数,传入html元素的id,和一个截止时间(unix时间戳),在该html元素中打印出到当前到截止时间为止的倒计时,精确到毫秒;

效果图如下:

多个js毫秒倒计时同时进行效果

<!DOCTYPE html>
<html>

 <head>
  <meta charset="UTF-8">
  <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <title></title>
  <style>
   div{
    width: 100%;
    height: 50px;
    margin-bottom: 5px;
    background: yellowgreen;
   }
  </style>
 </head>

 <body>
  
  <h2>毫秒的倒计时</h2>
  <div id="timer1"></div>
  <div id="timer2"></div>
  <div id="timer3"></div>
  <div id="timer4"></div>
  <script>
   var addTimer = function(){
    var list = [],
     interval;
     
    return function(id,timeStamp){
     if(!interval){
      interval = setInterval(go,1);
     }
     list.push({ele:document.getElementById(id),time:timeStamp});
    }
    
    function go() { 
     for (var i = 0; i < list.length; i++) { 
      list[i].ele.innerHTML = changeTimeStamp(list[i].time); 
      if (!list[i].time) 
       list.splice(i--, 1); 
     } 
    }

    //传入unix时间戳,得到倒计时
    function changeTimeStamp(timeStamp){
     var distancetime = new Date(timeStamp*1000).getTime() - new Date().getTime();
     if(distancetime > 0){ 






//如果大于0.说明尚未到达截止时间    
      var ms = Math.floor(distancetime%1000);
      var sec = Math.floor(distancetime/1000%60);
      var min = Math.floor(distancetime/1000/60%60);
      var hour =Math.floor(distancetime/1000/60/60%24);
      
      if(ms<100){
       ms = "0"+ ms;
      }
      if(sec<10){
       sec = "0"+ sec;
      }
      if(min<10){
       min = "0"+ min;
      }
      if(hour<10){
       hour = "0"+ hour;
      }
      
      return hour + ":" +min + ":" +sec + ":" +ms;
     }else{







//若否,就是已经到截止时间了
      return "已截止!"
     } 
    }    
   }();
   
   addTimer("timer1",1451923200);//1月5日00点,unix时间戳自己去百度一下,就有的
   addTimer("timer2",1451926800);//1月5日01点
   addTimer("timer3",1451930400);//1月5日02点
   addTimer("timer4",1452020400);//1月6日03点

  </script>
  
 </body>

</html>

如何使用这个函数?

addTimer("#id",时间戳int); 

PS:

其实这个函数有一个小小的问题:就是并不会显示截止天数;因为老板表示我们的倒计时时间最多也就几个小时,所以在判断倒计时的小时和天数上,我也就懒得写那么多了。所以如果传入的时间戳距今超过了1天。那么你会看到如此结果:02:11:32:874~~只剩2个小时了!明显不对是不是?

so,有2个方案这里:

方法1:把var hour =Math.floor(distancetime/1000/60/60%24);改成var hour =Math.floor(distancetime/1000/60/60);

如果截止时间距今超出一天了,小时位置会显示大于24的数字;比如:36:45:22:888

方法2:你自己再写一个计算天数的变量;

更多关于倒计时的文章请查看专题:《倒计时功能》

更多JavaScript时钟特效点击查看:JavaScript时钟特效专题

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
JQuery从头学起第三讲
Jul 06 Javascript
js判断横竖屏及禁止浏览器滑动条示例
Apr 29 Javascript
jQuery中innerWidth()方法用法实例
Jan 19 Javascript
浅析JavaScript访问对象属性和方法及区别
Nov 16 Javascript
利用Angularjs实现幻灯片效果
Sep 07 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
Sep 14 Javascript
AngularJS中重新加载当前路由页面的方法
Mar 09 Javascript
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
详解Webpack如何引入CDN链接来优化编译后的体积
Jun 21 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
Sep 07 Javascript
vue基于v-charts封装双向条形图的实现代码
Dec 09 Javascript
微信小程序中target和currentTarget的区别小结
Nov 06 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
Jan 04 #Javascript
实例详解jQuery结合GridView控件的使用方法
Jan 04 #Javascript
jQuery EasyUI之DataGrid使用实例详解
Jan 04 #Javascript
JavaScript原型及原型链终极详解
Jan 04 #Javascript
jQuery实现简单的点赞效果
May 29 #Javascript
jQuery+Ajax实现无刷新操作
Jan 04 #Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
Jan 04 #Javascript
You might like
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
解析PHP中intval()等int转换时的意外异常情况
2013/06/21 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
jquery实现的省市区三级联动
2015/04/02 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
2018/11/26 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
python实现挑选出来100以内的质数
2015/03/24 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
解决win64 Python下安装PIL出错问题(图解)
2018/09/03 Python
Django之模型层多表操作的实现
2019/01/08 Python
Python换行与不换行的输出实例
2020/02/19 Python
Python中免验证跳转到内容页的实例代码
2020/10/23 Python
幼儿园教师个人反思
2014/01/30 职场文书
产品推广策划方案
2014/05/10 职场文书
优秀班集体申报材料
2014/12/25 职场文书
肖申克救赎观后感
2015/06/02 职场文书
企业团队精神心得体会
2016/01/19 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
演讲稿:态度决定一切
2019/04/02 职场文书
2019年工作总结范文
2019/05/21 职场文书