js实现精确到秒的倒计时效果


Posted in Javascript onMay 29, 2016

本文实例为大家分享了两种倒计时效果,供大家参考,具体内容如下

效果图:

js实现精确到秒的倒计时效果

1.倒计时效果

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8"/>
 <title>倒计时</title>
 <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8"/>
 <style type="text/css">
 *{ margin:0; padding:0;}
 .dtime{ margin:10px;}
 .dtime span{ color:#C30;}
 </style> 
 
 </head>
 <body>
  <div class="dtime" id="a1"></div>
 <div class="dtime" id="a2"></div>
 <div class="dtime" id="a3"></div>
 <div class="dtime" id="a4"></div>
 <div class="dtime" id="a5"></div>
 </body> 
 <script>
 function tbdTimeCountdown(args){//倒计时函数
 var ele=document.getElementById(args.id);
 var alltime=args.alltime;
 var arr=[];
 
 var t=Math.floor(alltime/(24*60*60));
 var yt=alltime%(24*60*60);
 
 var s=Math.floor(yt/(60*60));
 var ys=yt%(60*60);
 
 var f=Math.floor(ys/(60));
 var yf=ys%(60);
 
 var m=yf;
 
 arr[0]=[t,"天"];
 arr[1]=[s,"小时"];
 arr[2]=[f,"分"];
 arr[3]=[m,"秒结束"];
 
 var s=ce(arr,0);
 
 ele.innerHTML=s;
 
 var dong;
 
 dong=setInterval(function(){
  alltime-=1;
  if(alltime<=0){
  clearInterval(dong);
  ele.innerHTML="<span>0</span>秒";
  args.end();
  }else{
  t=Math.floor(alltime/(24*60*60));
  yt=alltime%(24*60*60);
 
  s=Math.floor(yt/(60*60));
  ys=yt%(60*60);
 
  f=Math.floor(ys/(60));
  yf=ys%(60);
 
  m=yf;
 
  arr[0]=[t,"天"];
  arr[1]=[s,"小时"];
  arr[2]=[f,"分"];
  arr[3]=[m,"秒结束"];
 
  var s=ce(arr,0);
 
  ele.innerHTML=s;
  };   
 },1000);
 
 function ce(arr,sta){
  var i=sta;
  if(i<arr.length){
  if(arr[i][0]!=0){
   var s="";
   for(var j=i;j<arr.length;j++){
   s+="<span>"+arr[j][0]+"</span>"+arr[j][1];
   };
   return s;
  }else{
   return ce(arr,i+1);
  };
  };
 };
 };//倒计时end
 //效果1
 //86402 3602 62
 tbdTimeCountdown({id:"a1",//含有倒计时容器
 alltime:3,//倒计时总秒数
 end:function(){//倒计时结束,时间为0是调用的函数
  //alert("倒计时结束才会执行!");
 },
 
 });
 //效果2
 tbdTimeCountdown({id:"a2",//含有倒计时容器
 alltime:62,//倒计时总秒数
 end:function(){//倒计时结束,时间为0是调用的函数
 },
 
 });
 //效果3
 tbdTimeCountdown({id:"a3",//含有倒计时容器
 alltime:3602,//倒计时总秒数
 end:function(){//倒计时结束,时间为0是调用的函数
 },
 
 });
 //效果4
 tbdTimeCountdown({id:"a4",//含有倒计时容器
 alltime:86402,//倒计时总秒数
 end:function(){//倒计时结束,时间为0是调用的函数
 },
 
 });
 //效果4
 tbdTimeCountdown({id:"a5",//含有倒计时容器
 alltime:154789,//倒计时总秒数
 end:function(){//倒计时结束,时间为0是调用的函数
 },
 
 });
 </script>
</html>

2.倒计时2.html

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8"/>
 <title>倒计时</title>
 <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8"/>
 <style type="text/css">
 *{ margin:0; padding:0;}
 .dtime{ margin:10px;}
 .dtime span{ color:#C30;}
 </style> 
 
 </head>
 <body>
 <div class="dtime" id="a1" alltime="3"></div>
 <div class="dtime" id="a2" alltime="62"></div>
 <div class="dtime" id="a3" alltime="3605"></div>
 <div class="dtime" id="a4" alltime="48605"></div>
 <div class="dtime" id="a5" alltime="123456"></div>
 </body> 
 <script>
 function tbdTimeCountdown(args){//倒计时函数
 var ele=document.getElementById(args.id);
 var alltime=Number(ele.getAttribute(args.alltime));
 var arr=[];
 
 var t=Math.floor(alltime/(24*60*60));
 var yt=alltime%(24*60*60);
 
 var s=Math.floor(yt/(60*60));
 var ys=yt%(60*60);
 
 var f=Math.floor(ys/(60));
 var yf=ys%(60);
 
 var m=yf;
 
 arr[0]=[t,"天"];
 arr[1]=[s,"小时"];
 arr[2]=[f,"分"];
 arr[3]=[m,"秒结束"];
 
 var s=ce(arr,0);
 
 ele.innerHTML=s;
 
 var dong;
 
 dong=setInterval(function(){
  alltime-=1;
  ele.setAttribute(args.alltime,alltime);
  if(alltime<=0){
  clearInterval(dong);
  ele.innerHTML="<span>0</span>秒";
  args.end();
  }else{
  t=Math.floor(alltime/(24*60*60));
  yt=alltime%(24*60*60);
 
  s=Math.floor(yt/(60*60));
  ys=yt%(60*60);
 
  f=Math.floor(ys/(60));
  yf=ys%(60);
 
  m=yf;
 
  arr[0]=[t,"天"];
  arr[1]=[s,"小时"];
  arr[2]=[f,"分"];
  arr[3]=[m,"秒结束"];
 
  var s=ce(arr,0);
 
  ele.innerHTML=s;
  };   
 },1000);
 
 function ce(arr,sta){
  var i=sta;
  if(i<arr.length){
  if(arr[i][0]!=0){
   var s="";
   for(var j=i;j<arr.length;j++){
   s+="<span>"+arr[j][0]+"</span>"+arr[j][1];
   };
   return s;
  }else{
   return ce(arr,i+1);
  };
  };
 };
 };//倒计时end
 //效果1
 //86402 3602 62
 tbdTimeCountdown({id:"a1",//含有倒计时容器
 alltime:"alltime",//倒计时总秒数
 end:function(){//倒计时结束,时间为0是调用的函数
  alert("倒计时结束才会执行!");
 },
 
 });
 //效果2
 tbdTimeCountdown({id:"a2",//含有倒计时容器
 alltime:"alltime",//倒计时总秒数
 end:function(){//倒计时结束,时间为0是调用的函数
 },
 
 });
 //效果3
 tbdTimeCountdown({id:"a3",//含有倒计时容器
 alltime:"alltime",//倒计时总秒数
 end:function(){//倒计时结束,时间为0是调用的函数
 },
 
 });
 //效果4
 tbdTimeCountdown({id:"a4",//含有倒计时容器
 alltime:"alltime",//倒计时总秒数
 end:function(){//倒计时结束,时间为0是调用的函数
 },
 
 });
 //效果4
 tbdTimeCountdown({id:"a5",//含有倒计时容器
 alltime:"alltime",//倒计时总秒数
 end:function(){//倒计时结束,时间为0是调用的函数
 },
 
 });
 </script>
</html>

大家可以参考专题 《js倒计时功能汇总》 进行深入学习。

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

Javascript 相关文章推荐
javascript 面向对象编程 万物皆对象
Sep 17 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
Jun 25 Javascript
js setTimeout()函数介绍及应用以倒计时为例
Dec 12 Javascript
jquery悬浮提示框完整实例
Jan 13 Javascript
详细探究ES6之Proxy代理
Jul 22 Javascript
原生node.js案例--前后台交互
Feb 20 Javascript
vue-router实现webApp切换页面动画效果代码
May 25 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
Oct 30 Javascript
p5.js实现斐波那契螺旋的示例代码
Mar 22 Javascript
javascript验证form表单数据的案例详解
Mar 25 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
Apr 29 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
May 06 Javascript
解读Bootstrap v4 sass设计
May 29 #Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
May 29 #Javascript
深入理解js数组的sort排序
May 28 #Javascript
深入理解js函数的作用域与this指向
May 28 #Javascript
js和C# 时间日期格式转换的简单实例
May 28 #Javascript
JS函数arguments数组获得实际传参数个数的实现方法
May 28 #Javascript
深入理解JS函数的参数(arguments)的使用
May 28 #Javascript
You might like
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
php二分查找二种实现示例
2014/03/12 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
php创建图像具体步骤
2017/03/13 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
PHP7 标准库修改
2021/03/09 PHP
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
JS中Object对象的原型概念基础
2018/01/29 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
2018/08/27 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
2019/02/18 jQuery
Vue Object.defineProperty及ProxyVue实现双向数据绑定
2020/09/02 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
理解python多线程(python多线程简明教程)
2014/06/09 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
符合语言习惯的 Python 优雅编程技巧【推荐】
2018/09/25 Python
深入理解Django-Signals信号量
2019/02/19 Python
python dlib人脸识别代码实例
2019/04/04 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
详解python如何引用包package
2020/06/07 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
python如何调用php文件中的函数详解
2020/12/29 Python
《值日生》教学反思
2014/02/17 职场文书
乌镇导游词
2015/02/02 职场文书