JavaScript setTimeout()基本用法有哪些
在制作網頁動態效果時,可能會遇到需要延時在執行的需求,這時就可以用到 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 = 0function 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() 可以在寫代碼過程中靈活運用其特點達到需要完成的目的
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
