定义和用法

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

提示: 1000 毫秒= 1 秒。

提示: 如果你只想重复执行可以使用 setInterval() 方法。

提示: 使用 clearTimeout() 方法来阻止函数的执行。

浏览器支持

表格中的数字表示支持该属性的第一个浏览器版本号。

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

尝试一下 »
var myWindow = window . open ( " " , " " , " width=200, height=100 " ) ; myWindow . document . write ( " <p>这是一个新窗口</p> " ) ; setTimeout ( function ( ) { myWindow . close ( ) } , 3000 ) ;

尝试一下 »

使用 clearTimeout() 来阻止函数的执行:

var myVar ; function myFunction ( ) { myVar = setTimeout ( function ( ) { alert ( " Hello " ) } , 3000 ) ; function myStopFunction ( ) { clearTimeout ( myVar ) ;
尝试一下 »

计数器 -- 可以通过点击按钮停止:

function startCount ( ) function stopCount ( )

尝试一下 »

显示当前时间:

function startTime ( ) { var today = new Date ( ) ; var h = today . getHours ( ) ; var m = today . getMinutes ( ) ; var s = today . getSeconds ( ) ; // 在 numbers<10 的数字前加上 0 m = checkTime ( m ) ; s = checkTime ( s ) ; document . getElementById ( " txt " ) . innerHTML = h + " : " + m + " : " + s ; t = setTimeout ( function ( ) { startTime ( ) } , 500 ) ; function checkTime ( i ) { if ( i < 10 ) { i = " 0 " + i ; return i ;
尝试一下 »

传递参数给 alertFunc 函数 ( IE9 及其更早版本不支持):

var myVar ; function myStartFunction ( ) { myVar = setTimeout ( alertFunc , 2000 , " Runoob " , " Google " ) ;
尝试一下 »

但是,如果使用匿名函数,则所有浏览器都支持:

var myVar ; function myStartFunction ( ) { myVar = setTimeout ( function ( ) { alertFunc ( " Runoob " , " Google " ) ; } , 2000 ) ;

尝试一下 »

Window 对象: setInterval() 方法

Window 对象: setTimeout() 方法

Window 对象: clearTimeout() 方法

Window 对象参考手册 Window 对象