javascript里的定時器有兩種:1、單次定時器,使用setTimeout()方法定義,可以在規(guī)定時間(以毫秒計)過后執(zhí)行一次代碼塊;2、循環(huán)定時器,使用setInterval()方法定義,按照指定的周期(以毫秒計)來重復(fù)執(zhí)行某些代碼。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
在 JavaScript 中,我們可以利用定時器來延遲執(zhí)行某些代碼,或者以固定的時間間隔重復(fù)執(zhí)行某些代碼。例如,您可以使用定時器定時更新頁面中的廣告或者顯示一個實時的時鐘等。
JavaScript 中提供了兩種定時器:setTimeout() 和 setInterval()
方法 | 說明 |
---|---|
setTimeout() | 在指定的時間后(單位為毫秒),執(zhí)行某些代碼,代碼只會執(zhí)行一次 |
setInterval() | 按照指定的周期(單位為毫秒)來重復(fù)執(zhí)行某些代碼,定時器不會自動停止,除非調(diào)用 clearInterval() 函數(shù)來手動停止或著關(guān)閉瀏覽器窗口 |
setTimeout()
JS setTimeout() 函數(shù)用來在指定時間后執(zhí)行某些代碼,代碼僅執(zhí)行一次。
使用方法:
setTimeout(code,millisec)
-
code 必需。要調(diào)用的函數(shù)后要執(zhí)行的 JavaScript 代碼串。
-
millisec 必需。在執(zhí)行代碼前需等待的毫秒數(shù)。
實例:
<html> <head> <meta charset="utf-8" /> </head> <body> <button id="button" onclick="click1()">獲取驗證碼</button> <span id="span"></span> <script> var time = 10; var num; var button = document.getElementById("button"); var span = document.getElementById("span"); function click1() { //click是關(guān)鍵字,所有函數(shù)名改為click1 if (time == 0) { button.disabled = false; time = 10; span.innerHTML = ""; clearTimeout(num); } else { button.disabled=true; span.innerHTML = time + "秒后重新獲得返回值"; time--; num = setTimeout("click1()",1000); } } </script> </body> </html>
setInterval()
JS setInterval() 函數(shù)可以定義一個能夠重復(fù)執(zhí)行的定時器,每次執(zhí)行需要等待指定的時間間隔。
使用方法:
setInterval(code,millisec[,"lang"])
-
code 必需。要調(diào)用的函數(shù)或要執(zhí)行的代碼串。
-
millisec 必須。周期性執(zhí)行或調(diào)用 code 之間的時間間隔,以毫秒計。
實例:
<html> <head> <meta charset="utf-8" /> </head> <body> <button id="button" onclick="set()">獲取驗證碼</button> <span id="span"></span> <script> var time = 10; var num; var button = document.getElementById("button"); var span = document.getElementById("span"); function set() { num = setInterval("click()", 1000); button.disabled = true; } function click() { if (time == 0) { button.disabled = false; time = 10; span.innerHTML = ""; clearInterval(num); } else { span.innerHTML = time + "秒后重新獲得返回值" time--; } } </script> </body> </html>
【推薦學(xué)習(xí):javascript高級教程】