setInterval是一個實現定時調用的函數,可按照指定的週期(以毫秒計)
來調用函數或計算表達式。setInterval方法會不停地調用函數,直到 clearInterval被調用或窗口被關閉html
setInterval() 方法可按照指定的週期(以毫秒計)來調用函數或計算表達式。ide
setInterval() 方法會不停地調用函數,直到 clearInterval() 被調用或窗口被關閉。由 setInterval() 返回的 ID 值可用做 clearInterval() 方法的參數。函數
提示: 1000 毫秒= 1 秒。spa
提示: 若是你只想執行一次能夠使用 setTimeout() 方法。code
01,每三秒(3000 毫秒)彈出 "Hello" : htm
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> </head> <body> <p>點擊按鈕,等待 3 秒會彈出 "Hello"。</p> <p>在彈出的對話框中點擊 「肯定」, 3 秒後會繼續彈出。如此循環下去...</p> <button onclick="myFunction()">點我</button> <script> function myFunction() { setInterval(function(){ alert("Hello"); }, 3000); } </script> </body> </html>
02,能夠經過調用一個已命名的函數,每三秒(3000 毫秒)彈出 "Hello":blog
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> </head> <body> <p>點擊按鈕,等待 3 秒會彈出 "Hello"。</p> <p>在彈出的對話框中點擊 「肯定」, 3 秒後會繼續彈出。如此循環下去...</p> <button onclick="myFunction()">點我</button> <script> var myVar; function myFunction() { myVar = setInterval(alertFunc, 3000); } function alertFunc() { alert("Hello!"); } </script> </body> </html>
03,顯示當前時間( setInterval() 方法會每秒執行一次函數,相似手錶功能):教程
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> </head> <body> <p>顯示當前時間:</p> <p id="demo"></p> <script> var myVar = setInterval(function(){ myTimer() }, 1000); function myTimer() { var d = new Date(); var t = d.toLocaleTimeString(); document.getElementById("demo").innerHTML = t; } </script> </body> </html>
04,使用 clearInterval() 來中止 setInterval 的執行:ip
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> </head> <body> <p>顯示當前時間:</p> <p id="demo"></p> <button onclick="myStopFunction()">中止時間</button> <script> var myVar = setInterval(function(){ myTimer() }, 1000); function myTimer() { var d = new Date(); var t = d.toLocaleTimeString(); document.getElementById("demo").innerHTML = t; } function myStopFunction() { clearInterval(myVar); } </script> </body> </html>
05,使用 setInterval() 和 clearInterval()來建立動態進度條:utf-8
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> </head> <style> #myProgress { width: 100%; height: 30px; position: relative; background-color: #ddd; } #myBar { background-color: #4CAF50; width: 10px; height: 30px; position: absolute; } </style> <body> <h1>JavaScript 進度條</h1> <div id="myProgress"> <div id="myBar"></div> </div> <br> <button onclick="move()">點我</button> <script> function move() { var elem = document.getElementById("myBar"); var width = 0; var id = setInterval(frame, 10); function frame() { if (width == 100) { clearInterval(id); } else { width++; elem.style.width = width + '%'; } } } </script> </body> </html>