1. 程式人生 > 程式設計 >JavaScript setTimeout()基本用法有哪些

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 = 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() 可以在寫程式碼過程中靈活運用其特點達到需要完成的目的

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。