Window setTimeout()
示例
等待 5 秒鐘進行問候
const myTimeout = setTimeout(myGreeting, 5000);
自己動手試一試 »
使用 clearTimeout(myTimeout) 防止 myGreeting 執行
const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
clearTimeout(myTimeout);
}
自己動手試一試 »
更多示例見下文。
描述
setTimeout()
方法在指定的毫秒數後呼叫一個函式。
1 秒 = 1000 毫秒。
注意
setTimeout()
只執行一次。
如果需要重複執行,請改用 setInterval()
。
使用 clearTimeout()
方法防止函式啟動。
要清除一個超時,請使用 setTimeout() 返回的 id
myTimeout = setTimeout(function, milliseconds);
然後你可以透過呼叫 clearTimeout() 來停止執行
clearTimeout(myTimeout);
另請參閱
語法
setTimeout(function, milliseconds, param1, param2, ...)
引數
引數 | 描述 |
function | 必需。 要執行的函式。 |
milliseconds | 可選。 執行前等待的毫秒數。 預設值為 0。 |
param1, param2, ... |
可選。 要傳遞給函式的引數。 IE9 及更早版本不支援。 |
返回值
型別 | 描述 |
一個數字 | 計時器的 id。 使用此 id 和 clearTimeout(id) 來取消計時器。 |
更多示例
3 秒(3000 毫秒)後顯示一個警報框
let timeout;
function myFunction() {
timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
alert("你好!");
}
自己動手試一試 »
顯示定時文字
let x = document.getElementById("txt");
setTimeout(function(){ x.value = "2 秒" }, 2000);
setTimeout(function(){ x.value = "4 秒" }, 4000);
setTimeout(function(){ x.value = "6 秒" }, 6000);
自己動手試一試 »
開啟一個新視窗,並在三秒(3000 毫秒)後關閉該視窗
const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);
自己動手試一試 »
用計時事件建立的時鐘
function startTime() {
const date = new Date();
document.getElementById("txt").innerHTML = date.toLocaleTimeString();
setTimeout(function() {startTime()}, 1000);
}
自己動手試一試 »
向函式傳遞引數(在 IE9 及更早版本中不起作用)
setTimeout(myFunc, 2000, "param1", "param2");
自己動手試一試 »
然而,如果使用匿名函式,它將在所有瀏覽器中工作
setTimeout(function() {myFunc("param1", "param2")}, 2000);
自己動手試一試 »
瀏覽器支援
setTimeout()
在所有瀏覽器中都受支援
Chrome | Edge | Firefox | Safari | Opera | IE |
是 | 是 | 是 | 是 | 是 | 是 |