JavaScript setTimeout() 介紹
導讀 | setTimeout() 是屬於 window 的方法,該方法用於在指定的毫秒數後呼叫函式或計算表示式。 |
語法格式可以是以下兩種:
setTimeout(要執行的程式碼, 等待的毫秒數) setTimeout(JavaScript 函式, 等待的毫秒數)
接下來我們先來看一個簡單的例子:
例項
setTimeout("alert('對不起, 要你久候')", 3000 )
在測試程式碼中我們可以看到頁面在開啟三秒後, 就會出現一個 alert 對話方塊。
setTimeout() 是設定一個指定等候時間 (單位是千分之一秒, millisecond), 時間到了, 瀏覽器就會執行一個指定的程式碼, 如下圖:
setTimeout() 也可以用來執行指定的函式(function),如下例項,網頁上的文字會在三秒後消修改。
例項
<p id="content"> 請等三秒鐘!</p> <script> setTimeout("changeState()",3000 ); function changeState(){ let content=document.getElementById('content'); content.innerHTML="<div style='color:red'>我是三秒後顯示的內容!</div>"; } </script>
例項中設定了等待 3 秒 (3000 milliseconds) 後瀏覽器就會執行 changeState( ) 這一個函式。
接下來我們可以透過 setTimeout() 不斷執行指定函式來實現一個計數器:
例項
<input type="text" id="displayBox" name="displayBox" value="0"> <script>x = 0 function countSecond() { x = x+1 document.getElementById("displayBox").value=x setTimeout("countSecond()", 1000) } // 執行函式 countSecond()</script>
例項中頁面在載入後執行 countSecond() 函式,該函式內使用了 setTimeout() 方法,該方法在每隔一秒呼叫 countSecond() 函式,所以最終會導致 countSecond( ) 每秒執行一次,實現計數效果。
當然我們也可以在計數器的函式上新增一些片段,實現在指定條件下停止計數:
例項
<input type="text" id="displayBox" name="displayBox" value="0"> <script>x = 0 function countSecond() { if(x<20) { x = x+1 document.getElementById("displayBox").value=x setTimeout("countSecond()", 1000) } } // 執行函式countSecond() </script>
例項中在 x 小於 20 的時候會每秒執行一次 countSecond() 函式,在 x 大於等於20 的時候就會停止執行。
既然有開始計數,那麼相對應的就要有停止計數,停止計時使用的函式為 clearTimeout()。
setTimeout() 方法可以使到瀏覽器不斷執行一段程式碼或一個函式 當一個 setTimeout( ) 開始了迴圈的工作, 我們要使它停下來, 可使用 clearTimeout( ) 這方法。
clearTimeout() 語法:
clearTimeout(timeoutID)
timeoutID 為呼叫 setTimeout() 函式時所獲得的返回值,使用該返回識別符號作為引數,可以取消該 setTimeout() 所設定的定時執行操作。
meter1 =setTimeout("count1()", 1000) meter2 =setTimeout("count2()", 1000)
使用 meter1 與 meter2 作為 timeoutID 的名稱, 在設定 clearTimeout( ) 時, 就可指定對哪一個 setTimeout() 有效, 不會影響另一個 setTimeout() 的操作。
如下例項:
例項
<form name="display1"> <input type="text" id="box1" name="box1" value="0" size="4" /> <input type="button" value="停止計時" onclick="clearTimeout(meter1)" /> <input type="button" value="繼續計時" onclick="count1() " /> </form> <p></p> <form name="display2"> <input type="text" id="box2" name="box2" value="0" size="4" /> <input type="button" value="停止計時" onclick="clearTimeout(meter2) " /> <input type="button" value="繼續計時" onclick="count2( ) " /> </form> <script> x = 0 y = 0 function count1( ) { x = x+ 1 document.getElementById("box1").value= x meter1=setTimeout("count1()", 1000) } function count2( ) { y = y+ 1 document.getElementById("box2").value= y meter2=setTimeout("count2()", 1000) } // 執行函式 count1( ) count2( ) </script>
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2775655/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript setTimeout()JavaScript
- JavaScript ECMAScript版本介紹JavaScript
- JavaScript 簡單介紹JavaScript
- JavaScript元素集合介紹JavaScript
- JavaScript 語法介紹JavaScript
- JavaScript常用物件介紹JavaScript物件
- JavaScript 輸出介紹JavaScript
- javascript this詳細介紹JavaScript
- javascript instanceof的原型介紹JavaScript原型
- 簡單介紹克隆 JavaScriptJavaScript
- javascript函式中with的介紹JavaScript函式
- 全面介紹JavaScript陣列方法JavaScript陣列
- JavaScript介紹及說明(01)JavaScript
- 簡單介紹JavaScript閉包JavaScript
- Javascript - 物件對映automapper介紹JavaScript物件APP
- Webpack 打包 Javascript 詳細介紹WebJavaScript
- JavaScript 6 的新特性介紹JavaScript
- javascript字串的語法介紹JavaScript字串
- Javascript執行機制(setTimeout/Promise)JavaScriptPromise
- JavaScript return語句簡單介紹JavaScript
- JavaScript希爾排序簡單介紹JavaScript排序
- javascript中generator函式的介紹JavaScript函式
- javascript高階函式的介紹JavaScript函式
- JavaScript FormData的詳細介紹及使用JavaScriptORM
- [Javascript] Promise ES6 詳細介紹JavaScriptPromise
- 詳解javascript拖拽(一)基礎介紹JavaScript
- JavaScript內建物件介紹(重點介紹Math(),Date(),Array()以及案例應用)JavaScript物件
- JavaScript - 函式 setTimeout 和 setInterval 的比較JavaScript函式
- JavaScript 事件迴圈(1) —— 從 setTimeout 說起JavaScript事件
- javascript演算法的複雜度介紹JavaScript演算法複雜度
- JavaScript中的預解析(變數提升)介紹!JavaScript變數
- JavaScript中的預解析(變數提升)介紹JavaScript變數
- 讓JavaScript中setTimeout支援鏈式操作的方法JavaScript
- JavaScript資料結構之連結串列--介紹JavaScript資料結構
- 簡單介紹下各種 JavaScript 解析器JavaScript
- javascript定時器(setTimeout和setInterval)的使用詳解JavaScript定時器
- setTimeout(fn, 0) // it works - JavaScript 事件迴圈 動畫演示JavaScript事件動畫
- JavaScript高階程式設計學習(一)之介紹JavaScript程式設計