运用JAVASCRIPT简单完成倒计时,一个按钮实现多个功能

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>倒计时</title>
 8     <style>
 9 
10     </style>
11 </head>
12 <body>
13     <div id="box">
14     3
15     </div>
16     <input type="button" id="btn" value="开始">
17 </body>
18 <script>
19     var obox = document.getElementById("box");
20     var obtn = document.getElementById("btn");
21     var start = obox.innerHTML;
22     var num = obox.innerHTML;
23     var t;
24     var onoff = 0;//1. 重点,需要声明一个开关,来决定你每次执行的功能,以及能够联系起来整个程序。
25 
26     obtn.onclick=function(){
27         //2.点击按钮触发事件
28         if (onoff==0) {
29         //3.每次点击之前,判断开关的状态,在开关为0的时候,进行
30             clearInterval(t);
31             //在每次计时器开始的时候都要清除上一次计时器
32             t = setInterval(function(){
33                 // 7.计时器每次执行都要判断是否结束
34                 if(num == 1){
35                     //在结束的时候,设置按钮为2,改变内容,清除计时器
36                     num = "结束了";
37                     obtn.value = "复位";
38                     onoff = 2;
39                     clearInterval(t);
40                 }else{
41                     //如果没有结束,就接着进行倒计时
42                     num--;
43                 }
44             obox.innerHTML = num;
45         },1000);
46             //4.在开始功能完成之后,把按钮修改成下次功能
47             obtn.value = "暂停";//5.在这里如果不是开始的功能,那么有可能就是暂停功能
48             onoff = 1;
49         }else if(onoff == 1){
50             clearInterval(t);
51             //6.停止功能做完之后,把状态修改成下次的功能
52             obtn.value = "继续";
53             onoff = 0;
54         }else if(onoff == 2){
55             //8.如果不是开始和暂停的功能,那么有可能是复位功能
56             //复位显示的数字,计算的数字,按钮的文字,功能的状态
57             obox.innerHTML = start;
58             num = start;
59             obtn.value = "开始";
60             onoff = 0;
61         }
62     }
63 
64 
65 
66 
67 
68 // 初始倒计时的实现
69 
70 //     var obtn=document.getElementById("btn");
71 //     var num=10;//初始化计数器
72 //     document.getElementById("div1").innerHTML=num+"秒";//   在页面中显示10秒
73 //     var tim=setInterval(function (){//定义匿名函数,
74 //         num--; //函数每调用一次num减一
75 //         document.getElementById("div1").innerHTML=num+"秒";       //在页面中显示减一后的秒数
76 //         if(num==1){ //当num变为1的时候,通过 clearInterval()结束倒计时
77 //               clearInterval(tim);
78 //         }
79 //     },1000); 
80 //     obtn.onclick=function(){
81 //         clearInterval(tim);
82         
83 
84 //     }
85                  
86 
87 
88 </script>
89 
90 
91 </html>

 

posted @ 2019-08-23 21:18  托尔带盐人  阅读(482)  评论(1编辑  收藏  举报