JavaScript setTimeout()基本用法有哪些
阿新 • • 發佈:2020-11-04
在製作網頁動態效果時,可能會遇到需要延時在執行的需求,這時就可以用到 js 中定時器來實現此類需求,本文將對setTimeout()做一個用法總結。
- setTimeout() 方法用於在指定的毫秒數後呼叫函式或計算表示式(以毫秒為單位)
- setTimeout()只執行函式一次,如果需要多次呼叫可以使用setInterval(),或者在函式體內再次呼叫setTimeout()
setTimeout()用法
舉個簡單的例子
加入下列程式碼,在開啟的頁面靜候三秒後,彈出警告框“你好”
<script> setTimeout("alert('你好')",3000) </script>
效果:
再複雜一些的function定義
<script> var myvar; function myFunction() { myVar = setTimeout(alertFunc,3000); } function alertFunc() { alert("Hello!"); }
自動每秒加 1 的 function
使用 setTimeout( ) 令文字框的數值每秒就加 1,當然你也可以設定其他遞增的速度,例如每五秒就加 5,或每五秒就加 1。
<script> x = 0 function countSecond( ) { x = x+1 document.fm.displayBox.value=x setTimeout("countSecond()",1000) } </script> <body bgcolor=lightcyan text=red> <p> </br> <form name=fm> <input type="text" name="displayBox"value="0" size=4 > </form> <script> countSecond( ) </script> </body>
用上述的方法設定時間,setTimeout( ) 雖然設定了是一秒,但瀏覽器還有另外兩項功能要執行,所以一個迴圈的時間是稍多於一秒,例如一分鐘可能只有58 個迴圈。
延時關閉網頁
按下按鈕,Window open()開啟一個網頁,執行命令,三秒鐘後自動關閉
<button onclick="openWin()">開啟 "視窗"</button> <script> function openWin() { var myWindow = window.open("","","width=200,height=100"); myWindow.document.write("這是一個新視窗"); setTimeout(function(){ myWindow.close() },3000); } </script>
取消setTimeout()
當一個 setTimeout( ) 開始了迴圈的工作,我們要使它停下來,可使用 clearTimeout( )
<button onclick="myFunction()">點我彈出</button> <button onclick="myStopFunction()">阻止彈出</button> <script> var myVar; function myFunction() { myVar = setTimeout(function(){ alert("Hello") },2000); } function myStopFunction() { clearTimeout(myVar); } </script>
小結
setTimeout(),clearTimeout(),setInterval() 可以在寫程式碼過程中靈活運用其特點達到需要完成的目的
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。