多个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 相关文章推荐
javascript一点特殊用法
May 28 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
Dec 19 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
Aug 18 Javascript
js中的scroll和offset 使用比较的实例与分析
Sep 29 Javascript
javascript 获取浏览器版本
Jan 21 Javascript
两种JS实现屏蔽鼠标右键的方法
Aug 20 Javascript
JS中常用的输出方式(五种)
Jun 12 Javascript
js替换字符串中所有指定的字符(实现代码)
Aug 17 Javascript
JS图片放大效果简单实现代码
Sep 08 Javascript
Vue项目中使用Vux的安装过程
May 01 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
Jun 14 Javascript
在Vue中获取自定义属性方法:data-id的实例
Sep 09 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
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
Python编程实现正则删除命令功能
2017/08/30 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
Keras 使用 Lambda层详解
2020/06/10 Python
python 对xml解析的示例
2021/02/27 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
斯巴达比赛商店:Spartan Race
2019/01/08 全球购物
夏威夷咖啡公司:Hawaii Coffee Company
2019/09/19 全球购物
C语言50道问题
2014/10/23 面试题
艺人经纪人岗位职责
2014/04/15 职场文书
班级读书活动总结
2014/06/30 职场文书
岗位说明书标准范本
2014/07/30 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书