JavaScript倒计时在Web中用得非常广泛,比如常见的团购啊、还有什么值得期待的事情,都可以用到倒计时。现在举了四个例子,比如时间长的倒计时,小时倒计时,最简的倒计时,还有秒表等等,应该可以满足大部分需求。

1. 比较长时间的倒计时

离2015年还有:

01 <script type="text/javascript">  
02 startclock();
03 var timerID = null;  
04 var timerRunning = false;  
05 function showtime() {  
06     Today = new Date();
07     var year = Today.getFullYear();
08     document.getElementById("next_yeat").innerHTML = year + 1;
09     var NowHour = Today.getHours();  
10     var NowMinute = Today.getMinutes();  
11     var NowMonth = Today.getMonth();  
12     var NowDate = Today.getDate();  
13     var NowYear = Today.getYear();  
14     var NowSecond = Today.getSeconds();  
15     if (NowYear <2000)  
16     NowYear=1900+NowYear;  
17     Today = null;  
18     Hourleft = 23 - NowHour  
19     Minuteleft = 59 - NowMinute  
20     Secondleft = 59 - NowSecond  
21     Yearleft = year - NowYear  
22     Monthleft = 12 - NowMonth - 1
23     Dateleft = 31 - NowDate  
24     if (Secondleft<0)  
25     {  
26         Secondleft=60+Secondleft;  
27         Minuteleft=Minuteleft-1;  
28     }  
29     if (Minuteleft<0)  
30     {   
31         Minuteleft=60+Minuteleft;  
32         Hourleft=Hourleft-1;  
33     }  
34     if (Hourleft<0)  
35     {  
36         Hourleft=24+Hourleft;  
37         Dateleft=Dateleft-1;  
38     }  
39     if (Dateleft<0)  
40     {  
41         Dateleft=31+Dateleft;  
42         Monthleft=Monthleft-1;  
43     }  
44     if (Monthleft<0)  
45     {  
46         Monthleft=12+Monthleft;  
47         Yearleft=Yearleft-1;  
48     }  
49     Temp=Yearleft+'年, '+Monthleft+'月, '+Dateleft+'天, '+Hourleft+'小时, '+Minuteleft+'分, '+Secondleft+'秒';
50     document.form1.left.value=Temp;  
51     timerID = setTimeout("showtime()",1000);  
52     timerRunning = true;  
53 }  
54 var timerID = null;  
55 var timerRunning = false;  
56 function stopclock () {  
57     if(timerRunning)  
58     clearTimeout(timerID);  
59     timerRunning = false;  
60 }  
61 function startclock () {  
62     stopclock();  
63     showtime();  
64 }  
65 // -->  
66 </script>  

2. 小时倒计时(短时间倒计时)

距离结束还有 59 分 21 秒

01 <script type="text/javascript">  
02 <!--  
03 //一个小时,按秒计算,可以自己调整时间
04 var maxtime = 60*60
05 function CountDown()
06 {  
07     if(maxtime>=0)
08     {  
09         minutes = Math.floor(maxtime/60);  
10         seconds = Math.floor(maxtime%60);  
11         msg = "距离结束还有 "+minutes+" 分 "+seconds+" 秒";  
12         document.all["timer"].innerHTML=msg;  
13         if(maxtime == 5*60) alert('注意,还有5分钟!');  
14         --maxtime;  
15     }  
16     else
17     {  
18         clearInterval(timer);  
19         alert("时间到,结束!");  
20     }  
21 }  
22 timer = setInterval("CountDown()",1000);  
23 //-->  
24 </script>

3. 最简倒计时

现在离 2012 还有: -1028 天

01 <script Language="JavaScript">   
02 <!-- Begin   
03   var timedate= new Date("January 14,2012");   
04   var times="2012";   
05   var now = new Date();   
06   var date = timedate.getTime() - now.getTime();   
07   var time = Math.floor(date / (1000 * 60 * 60 * 24));   
08   if (time >= 0) ;  
09 document.write("<p>现在离 "+times+" 还有: <b>"+time +"</b> 天</p>");  
10 // End -->  
11 </script>  

4. 秒表功能

00:01:11:00

01 <script type="text/javascript">  
02 var normalelapse = 100;  
03 var nextelapse = normalelapse;  
04 var counter;   
05 var startTime;  
06 var start = clock.innerText;   
07 var finish = "00:00:00:00";  
08 var timer = null;  
09 // 开始运行  
10 function run() {  
11     startB.disabled = true;  
12     endB.disabled = false;  
13     counter = 0;  
14     // 初始化开始时间  
15     startTime = new Date().valueOf();  
16      
17     // nextelapse是定时时间, 初始时为100毫秒  
18     // 注意setInterval函数: 时间逝去nextelapse(毫秒)后, onTimer才开始执行  
19     timer = window.setInterval("onTimer()", nextelapse);   
20 }  
21 // 停止运行  
22 function stop() {  
23     startB.disabled = false;  
24     endB.disabled = true;  
25     window.clearTimeout(timer);  
26 }  
27 window.onload = function() {  
28     endB.disabled = true;  
29 }  
30 // 倒计时函数  
31 function onTimer()  
32 {  
33     if (start == finish)  
34     {  
35         window.clearInterval(timer);  
36         alert("time is up!");  
37         return;  
38     }  
39     var hms = new String(start).split(":");  
40     var ms = new Number(hms[3]);  
41     var s = new Number(hms[2]);  
42     var m = new Number(hms[1]);  
43     var h = new Number(hms[0]);  
44     ms -= 10;  
45     if (ms < 0)  
46     {  
47         ms = 90;  
48         s -= 1;  
49         if (s < 0)  
50         {  
51             s = 59;  
52             m -= 1;  
53         }  
54         if (m < 0)  
55         {  
56             m = 59;  
57             h -= 1;  
58         }  
59     }  
60     var ms = ms < 10 ? ("0" + ms) : ms;  
61     var ss = s < 10 ? ("0" + s) : s;  
62     var sm = m < 10 ? ("0" + m) : m;  
63     var sh = h < 10 ? ("0" + h) : h;  
64     start = sh + ":" + sm + ":" + ss + ":" + ms;  
65     clock.innerText = start;  
66  
67     // 清除上一次的定时器  
68     window.clearInterval(timer);  
69     // 自校验系统时间得到时间差, 并由此得到下次所启动的新定时器的时间nextelapse  
70     counter++;   
71     var counterSecs = counter * 100;  
72     var elapseSecs = new Date().valueOf() - startTime;  
73     var diffSecs = counterSecs - elapseSecs;  
74     nextelapse = normalelapse + diffSecs;  
75     diff.value = counterSecs + "-" + elapseSecs + "=" + diffSecs;  
76     next.value = "nextelapse = " + nextelapse;  
77     if (nextelapse < 0) nextelapse = 0;  
78     // 启动新的定时器  
79     timer = window.setInterval("onTimer()", nextelapse);   
80 }  
81 </script>

JavaScript倒计时脚本的更多相关文章

  1. 比较全的JavaScript倒计时脚本

    JavaScript倒计时在Web中用得非常广泛,比如常见的团购啊.还有什么值得期待的事情,都可以用到倒计时.现在举了四个例子,比如时间长的倒计时,小时倒计时,最简的倒计时,还有秒表等等,应该可以满足 ...

  2. 比较全的JavaScript倒计时脚本[xyytit]

    需要做一个功能,给特定的活动或者商品添加一个倒计时提示,在网上找了好些方法,总结了比较好的一些方法,以备后用: 1. 比较长时间的倒计时(如:距离2014年还有0年, 0月, 30天, 9小时, 41 ...

  3. 20个非常棒的jQuery倒计时脚本

    使用jQuery倒计时插件可能是最简单最好的方式添加动态和交互式倒数计时器到您的网站上.我相信你已经注意到了,例如倒计时功能运行网站,显示倒计时,直到一个大事件.当网站正在维护,告诉用户什么时候回来, ...

  4. javascript(脚本语言)

    javascript(脚本语言)一.注释语法:1.单行注释 //注释内容2.多行注释 /*注释内容*/二.输出语法js语言格式,尽量靠下写,属双标签<script type=”text/java ...

  5. 在C#中调用VBScript和JavaScript等脚本的实现

    在C#中调用VBScript.JavaScript等脚本的实现 作者:郑佐 2004-04-26 以前在做工作流(workflow)项目的时候,里面有一项就是在用户制定流程定义时可以编写脚本来控制活动 ...

  6. javascript ajax 脚本跨域调用全解析

    javascript ajax 脚本跨域调用全解析 今天终于有点时间研究了一下javsscript ajax 脚本跨域调用的问题,先在网上随便搜了一下找到一些解决的办法,但是都比较复杂.由是转到jqu ...

  7. JavaScript HTML5脚本编程——“历史状态管理”的注意要点

    历史状态管理是现代Web应用开发中的一个难点.在现代Web应用中,用户的每次操作不一定会打开一个全新的页面,因此"后退"和"前进"按钮也就失去了作用,导致用户很 ...

  8. Javascript倒计时页面跳转

    在js中实现页面定时跳转我们要使用setInterval或setTimeOut函数,还可以使用页面的meta实现. 例1: <script type="text/javascript& ...

  9. JavaScript 动态脚本

    动态脚本,指的是在页面加载时不存在,但将来的某一个时刻通过修改DOM动态添加的脚本. <script type="text/javascript"> function ...

随机推荐

  1. linux命令(实用!)

    本文转载自网络 1.1 shell家族 shell:命令解释器,根据输入的命令执行相应命令. 察看当前系统下有哪些shell: cat /etc/shells 察看当前系统正在使用的shell ech ...

  2. 接口文档神器--apiui的使用

    接口开发,最麻烦的就是写文档了,曾经我也因为写接口文档苦不堪言:自从使用了apiui接口文档神器,工作效率和文档清晰得到了不止一个档次的提升. 下面介绍一下这个神器的使用: 把文件下载下来,放在网站根 ...

  3. JAVA基础:ArrayList和LinkedList区别

    1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList ...

  4. [问题] docker: Failed to start Docker Application Container Engine.

    docker无法启动: # systemctl restart docker Job for docker.service failed because the control process exi ...

  5. 一步步学敏捷开发:1、敏捷开发及Scrum介绍

    敏捷开发之 历史背景 20世纪60年代:软件作坊,软件规模小,以作坊式开发为主:70年代:软件危机,硬件飞速发展,软件规模和复杂度激增,引发软件危机:80年代:软件过程控制,引入成熟生产制造管理方法, ...

  6. Python 再谈字符串

    字符串除了要用引号来创建之外,其他和元组一样,不能修改,如果要修改只能用切片或者拼接的方式. 其他的什么乱七八糟的运算符都一样 一些不同 capitalize()-将字符串的第一个字母大写 str1. ...

  7. 导弹拦截与Dilworth定理

    这两天被Dilworth.链和反链搞到头昏脑胀,终于有点眉目,现在来总结一下. Dilworth定理说的是:对于一个偏序集,其最少链划分数等于其最长反链的长度. Dilworth定理的对偶定理说的是: ...

  8. TCP系列21—重传—11、TLP

    一.介绍 Tail Loss Probe (TLP)是同样是一个发送端算法,主要目的是使用快速重传取代RTO超时重传来处理尾包丢失场景.在一些WEB业务中,如果TCP尾包丢失,如果依靠RTO超时进行重 ...

  9. TCP系列10—连接管理—9、syncookie、fastopen与backlog

    这部分内容涉及较多linux实现,可以跳过. 一.listen系统调用对backlog的处理 当socket处于LISTEN或者CLOSED状态时,fastopen队列的长度可以通过TCP_FASTO ...

  10. lol人物模型提取(六)

      模型昨天就已经做出来了,不过到上色这一块貌似又遇到了一些问题.由于模型的眼睛比较小,没法做出亮光效果,上不了UV,只能做哑光效果的.   亮光效果:   哑光效果:   很显然亮光效果更加好看一点 ...