setTimeout() 雖然是 window 物件的方法,在多數瀏覽器中也可單獨使用,也就是直接呼叫 setTimeout() ,不需要寫 window.setTimeout() 。
setTimeout() 需要至少兩個參數
id = window.setTimeout(code, delay);
id 為 setInterval() 的回傳值, code 為重複動作的程式碼,通常為函數名稱, delay 則是延遲時間,也就是重複動作的間隔時間單位為毫秒。舉例如下
var intervalID; var n = 11; function run() { var t = document.getElementById("demo"); if (n != 0) { n = n - 1; t.innerHTML = n; } intervalID = window.setTimeout(run, 1000); } function stop() { window.clearTimeout(intervalID); } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:window049.js 功能:示範 JavaScript 程式 作者:張凱慶 時間:西元 2011 年 8 月 */
這裡設計 run() 函數呼叫 setTimeout()
function run() { var t = document.getElementById("demo"); if (n != 0) { n = n - 1; t.innerHTML = n; } intervalID = window.setTimeout(run, 1000); }
每 1000 毫秒,也就是一秒後執行一次 run() 。由於 n 初值設定為 11 ,剛開始執行 run() 的時候先減 1 ,因此 id 屬性為 demo 的元素會顯示 10 ,每一秒後遞減 1 ,因此這是個倒數計時的程式。
我們以的 HTML 文件載入
<!DOCTYPE html> <html> <head> <title>HTML DOM DEMO</title> <script src="window049.js" type="text/javascript"></script> </head> <body> <input type="button" value="RUN" onclick="run();"> <input type="button" value="STOP" onclick="stop();"> <div id="demo" style="font-size:x-large;"></div> </body> </html> <!-- 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:window049.html 功能:示範 JavaScript 程式 作者:張凱慶 時間:西元 2011 年 8 月 -->
瀏覽器 (broswer) 開啟後,點擊 RUN 倒數計時就開始,再次點擊 STOP 就會停止倒數計時
中英文術語對照 | |
---|---|
瀏覽器 | broswer |
您可以繼續參考
window 物件
- 屬性
- window.closed
- window.document
- window.frameElement
- window.frames
- window.history
- window.location
- window.innerHeight
- window.innerWidth
- window.length
- window.name
- window.navigator
- navigator.appCodeName
- navigator.appName
- navigator.appVersion
- navigator.buildID
- navigator.cookieEnabled
- navigator.language
- navigator.mimeTypes
- navigator.onLine
- navigator.oscpu
- navigator.platform
- navigator.plugins
- navigator.product
- navigator.userAgent
- navigator.vendor
- navigator.javaEnabled()
- window.opener
- window.outerHeight
- window.outerWidth
- window.pageXOffset
- window.pageYOffset
- window.parent
- window.screen
- window.screen.availTop
- window.screen.availLeft
- window.screen.availHeight
- window.screen.availWidth
- window.screen.colorDepth
- window.screen.height
- window.screen.left
- window.screen.pixelDepth
- window.screen.top
- window.screen.width
- window.screenX
- window.screenY
- window.scrollMaxX
- window.scrollMaxY
- window.scrollX
- window.scrollY
- window.self
- window.status
- window.top
- 方法
- window.close()
- window.open(sU, sN, sF)
- window.alert()
- window.back()
- window.blur()
- window.focus()
- window.clearInterval(id)
- window.setInterval(f, d)
- window.clearTimeout(id)
- window.setTimeout(f, d)
- window.confirm(m)
- window.escape(r)
- window.unescape(e)
- window.forward()
- window.getComputedStyle(e)
- window.home()
- window.moveBy(x, y)
- window.moveTo(x, y)
- window.print()
- window.prompt(t, v)
- window.resizeBy(x, y)
- window.resizeTo(x, y)
- window.scroll(x, y)
- window.scrollBy(x, y)
- window.scrollByLines(n)
- window.scrollByPages(n)
- window.scrollTo(x, y)
相關目錄
HTML DOM 快速導覽
JavaScript 教材
首頁
參考資料
https://developer.mozilla.org/en/DOM/window.setTimeout
沒有留言:
張貼留言