Window setTimeout()
示例
等待 5 秒钟显示问候语
const myTimeout = setTimeout(myGreeting, 5000);
尝试一下 »
使用 clearTimeout(myTimeout) 阻止 myGreeting 运行
const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
clearTimeout(myTimeout);
}
尝试一下 »
下面还有更多示例。
描述
The setTimeout()
方法在指定的毫秒数后调用一个函数。
1 秒 = 1000 毫秒。
备注
The setTimeout()
只执行一次。
如果您需要重复执行,请改用 setInterval()
。
使用 clearTimeout()
方法可以阻止函数开始执行。
要清除超时,请使用 setTimeout() 返回的 id
myTimeout = setTimeout(function, milliseconds);
然后,您可以通过调用 clearTimeout() 来停止执行
clearTimeout(myTimeout);
另请参阅
语法
setTimeout(function, milliseconds, param1, param2, ...)
参数
参数 | 描述 |
function | 必需的。 要执行的函数。 |
milliseconds | 可选的。 等待执行的毫秒数。 默认值为 0。 |
param1, param2, ... |
可选的。 要传递给 function 的参数。 在 IE9 及更早版本中不支持。 |
返回值
类型 | 描述 |
数字 | 计时器的 ID。 使用此 ID 与 clearTimeout(id) 取消计时器。 |
更多示例
3 秒(3000 毫秒)后显示一个警告框
let timeout;
function myFunction() {
timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
alert("Hello!");
}
尝试一下 »
显示定时文本
let x = document.getElementById("txt");
setTimeout(function(){ x.value = "2 秒" }, 2000);
setTimeout(function(){ x.value = "4 秒" }, 4000);
setTimeout(function(){ x.value = "6 秒" }, 6000);
尝试一下 »
打开一个新窗口,并在 3 秒(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 |
是 | 是 | 是 | 是 | 是 | 是 |