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 |
是 | 是 | 是 | 是 | 是 | 是 |