js計時器方法的使用


js中計時器重要使用window.setInterval()方法和window.setTimeout()方法,

其中setInterval()方法的作用是每隔一段時間執行一次方法,而window.setTimeout()在一段時間內調用函數。

setTimeout()方法一般通過調用自身迭代的方式實現計時器。與這兩個方法對應的,還有清除這兩個函數效果的

兩個方法,分別是window.clearInterval()和window.clearTimeout()。

1.setInterval()和clearInterval()  (window可以省略)

(1)setInterval()方法常用的語法如下:

setInterval(function,interval);

其中function是將要在間隔時間內執行的函數,interval是間隔的時間,單位是毫秒。

(2)clearInterval()方法的常用語法如下:

timer = setInterval(function,interval);

clearInterval(timer);

例子:

 1 <html>
 2     <head></head>
 3     <body>
 4         <p id="timer">點擊開始計時!</p>
 5         <div>
 6             <button id="cutTimer" onclick="start()">開始</button>
 7             <button id="cutTimer" onclick="stop()">停止</button>
 8         </div>
 9         <script>
10             var cutT = document.getElementById("cutTimer");
11         
12             var timer1 = null;
13         
14             function start(){
15                 var countTime = function(){
16                     date = new Date();
17                     dateStr = date.toLocaleTimeString();
18                     document.getElementById("timer").innerHTML = dateStr;
19                 }
20             
21                 timer1 = window.setInterval(countTime,1000);
22                         
23             }
24 
25             
26             function stop(){    
27                 console.log("timer stop:"+timer1);
28                 window.clearInterval(timer1);                    
29             };
30 
31         </script>
32     </body>
33 </html>

在這個例子中,點擊開始后(會有一段延遲),頁面上每隔1000毫秒(也就是1秒)執行一次,也就是顯示當前的時分秒。

 

2.setTimeout()和clearTimeout()

這兩個方法與setInterval()和clearInterval()方法用法類似,示例如下:

 1 <html>
 2     <head></head>
 3     <body>
 4         <p id="timer"></p>
 5         <div>
 6             <button id="cutTimer" onclick="timeOutAlert();">執行</button>
 7             <button id="cutTimer" onclick="stopTimeOutAlert();">停止</button>
 8         </div>
 9         <script>
10             timeOut = null;
11             function timeOutAlert(){
12                 timeOut = window.setTimeout(function(){
13                     console.log("time out..."+timeOut);
14                     timeOutAlert();
15                 },1000);
16             }
17             
18             function stopTimeOutAlert(){
19                 console.log("timeCut:"+timeOut);
20                 window.clearTimeout(timeOut);
21             }
22         </script>
23     </body>
24 </html>

可以看到timeOutAlert()方法每隔1000毫秒調用自身,在控制台打印出當前timeOut的值,timeOut第一次使用

setTimeout()后為1,每次增加1,clearTimeout()通過這個數字作為入參清除當前的setTimeout()。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM