Window setTimeout() 方法

定義和用法

setTimeout() 方法在若干毫秒后調用函數。

注釋:1 秒 = 1000 毫秒。

提示

setTimeout() 只執行一次。

如果您需要重復執行,請改用 setInterval()

請使用 clearTimeout() 方法 來阻止函數啟動。

如需清除超時,請使用從 setTimeout() 返回的 id:

myTimeout = setTimeout(function, milliseconds);

然后你可以通過調用 clearTimeout() 方法 來停止執行:

clearTimeout(myTimeout);

另請參閱:

clearTimeout() 方法

setInterval() 方法

clearInterval() 方法

實例

例子 1

等待 5 秒鐘的問候語:

const myTimeout = setTimeout(myGreeting, 5000);

親自試一試

例子 2

使用 clearTimeout(myTimeout) 阻止 myGreeting 運行:

const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
  clearTimeout(myTimeout);
}

親自試一試

頁面下方提供更多實例。

語法

setTimeout(function, milliseconds, param1, param2, ...)

參數

參數 描述
function 必需。要執行的函數。
milliseconds

可選。執行前等待的毫秒數。

默認值為 0。

param1, param2,...

可選。傳遞給函數的參數。

IE9 及更早版本不支持。

返回值

類型 描述
數字。

計時器的 ID。

請將此 id 與 clearTimeout(id) 方法 一起使用以取消計時器。

瀏覽器支持

所有瀏覽器都支持 setTimeout()

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
支持 支持 支持 支持 支持 支持

更多實例

例子 3

3 秒(3000 毫秒)后顯示警告框:

let timeout;
function myFunction() {
  timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
  alert("Hello!");
}

親自試一試

例子 4

顯示定時文本:

let x = document.getElementById("txt");
setTimeout(function(){ x.value = "2 seconds" }, 2000);
setTimeout(function(){ x.value = "4 seconds" }, 4000);
setTimeout(function(){ x.value = "6 seconds" }, 6000);

親自試一試

例子 5

打開新窗口并在三秒(3000 毫秒)后關閉該窗口:

const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);

親自試一試

例子 6

持續計數 - 但可以停止計數:

function startCount()
function stopCount()

親自試一試

例子 7

使用計時事件創建的時鐘:

function startTime() {
  const date = new Date();
  document.getElementById("txt").innerHTML = date.toLocaleTimeString();
  setTimeout(function() {startTime()}, 1000);
}

親自試一試

例子 8

將參數傳遞給函數(在 IE9 及更早版本中不起作用):

setTimeout(myFunc, 2000, "param1", "param2");

親自試一試

例子 9

但是,如果您使用匿名函數,將適用于所有瀏覽器:

setTimeout(function() {myFunc("param1", "param2")}, 2000);

親自試一試