JS实现倒计时功能

     上午主要编写了倒计时的功能,用了两种算法,一种是最终秒数、分钟数、小时数减去当前的秒、分钟和小时,当然要重点注意的就是借位的问题。另一种算法就是将最终时间转换成秒数,当前时间转换成秒数,相减之后再换算成小时、分钟和秒,再分别显示出来。

     下面是我编写的代码:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>倒计时</title>
 6 </head>
 7 <body>
 8     <span id="time"></span>
 9     <script src="jquery-1.11.1.js"></script>
10     <script>
11         function Time(){
12             var date = new Date();
13             var finalhour = 15;   //最终小时
14             var finalmin = 34;
15             var finalsec = 0;
16             var nowhours = date.getHours();   //当前小时
17             var nowmin = date.getMinutes();
18             var nowsec = date.getSeconds();
19             var showsec = 0;   //显示的秒数
20             var showmin = 0;
21             var showhour = 0;
22             if(nowsec > finalsec){   //如果当前时间的秒数大于最终时间的秒数时,
23                 showsec = (finalsec + 60) - nowsec;  //用最终的秒数加上60就可以减去当前的秒数,赋值给变量showsec就是剩下的秒数。
24                 finalmin = finalmin - 1; // 因为 最终秒数 加上了60s 相当于1分钟,最终分钟就要剪掉1,相当于数学中的借位。
25             }else  //如果不大于,就可以直接减去。
26             {
27                 showsec = finalsec - nowsec;  
28             }
29             if(nowmin > finalmin){    //同理秒, 分钟也是要借位,借小时的,如果借了,小时就减1 分钟就加60之后减去当前分钟 就等于剩余分钟,不借直接减
30                 showmin = (finalmin + 60) - nowmin;
31                 finalhour = finalhour - 1;
32             }else
33             {
34                 showmin = finalmin - nowmin;
35             }
36             showhour = finalhour - nowhours;  //小时就直接减,如果被借位了 前面也已经减过了。
37             if(showsec<10){
38                 showsec = "0" + showsec;   //如果显示的秒小于10,就在前面加上字符串0.
39             }
40             if(showmin<10){
41                 showmin = "0" + showmin;   //同理
42             }
43             if(showhour<10){
44                 showhour = "0" + showhour;
45             }
46             $("#time").html("距离中午12点整还有:" + showhour + "小时" + showmin + "分钟" + showsec + "秒");  
47         }
48         Time();
49         setInterval(Time,1000);
50 
51 
52 
53         //用都换算成s的算法来计算剩余时间。
54         //     var nowSec = nowhours * 3600 + nowmin * 60 + nowsec;
55         //     var finalSec = finalhour * 3600 + finalmin * 60 + finalsec;
56         //     var restSec = finalSec - nowSec;
57         //     var showHour = parseInt(restSec/3600);
58         //     var showMin = parseInt((restSec%3600)/60);
59         //     var showSec = (restSec%3600)%60;
60         //     if(showSec<10){
61         //         showSec = "0" + showSec;
62         //     }
63         //     if(showMin<10){
64         //         showMin = "0" + showMin;
65         //     }
66         //     if(showHour<10){
67         //         showHour = "0" + showHour;
68         //     }
69         //     $("#time").html("距离15点34分还有:" + showHour + "小时" + showMin + "分钟" + showSec + "秒");
70         // }
71         // Time();
72         // setInterval(Time,1000);
73     </script>
74 </body>
75 </html>

      今天上课讲的一些知识:

     1.全局变量是全局对象的属性。

     2.像alert()、setInterval()、eval()等都是window的方法。

     3.函数中返回值只有一个。

     4.如果变量较多,可以定义一个对象,里面存放要定义的变量,需要的时候直接 对象名.属性名()调用。但是真正项目中要封装起来,不允许随便访问。可以用立即执行函数解决权限访问问题。

     5.找错,打断点问题,打一个断点的意思就是执行代码直到你断点所在位置,若操作后在前面某个部分停止了,那么就说明停止的那个地方代码执行。

 

posted @ 2015-11-21 22:54  小洋的前端成长之路  阅读(671)  评论(0编辑  收藏  举报