Window setTimeout() 方法
window.setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式
1000 毫秒 = 1 秒
如果想重复执行可以使用 setInterval() 方法
可以使用 clearTimeout() 方法来阻止函数的执行
浏览器支持
支持 | 支持 | 支持 | 支持 | 支持 |
语法
setTimeout(code, milliseconds, param1, param2, ...) setTimeout(function, milliseconds, param1, param2, ...)
参数 | 描述 |
---|---|
code/function | 必需。要调用一个代码串,也可以是一个函数 |
milliseconds | 可选。执行或调用 code/function 需要等待的时间,以毫秒计。默认为 0 |
param1, param2, ... | 可选。 传给执行函数的其他参数 ( IE9 及其更早版本不支持该参数 ) |
返回值
返回一个 ID(数字),可以将这个 ID 传递给 clearTimeout() 来取消执行
范例
3 秒(3000 毫秒)后弹出 "Hello"
setTimeout(function(){ alert("Hello"); }, 3000);
范例
3 秒 ( 3000 毫秒 ) 后弹出 "Hello"
var myVar; function myFunction() { myVar = setTimeout(alertFunc, 3000); } function alertFunc() { alert("Hello!"); }
范例
在第 2、4、6 秒修改输入框中的文本
var x = document.getElementById("txt"); setTimeout(function(){ x.value = "2 秒" }, 2000); setTimeout(function(){ x.value = "4 秒" }, 4000); setTimeout(function(){ x.value = "6 秒" }, 6000);
范例
打开一个新窗口,3 秒后将该窗口关闭
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, "Twle", "Google"); }
但是,如果使用匿名函数,则所有浏览器都支持
var myVar; function myStartFunction() { myVar = setTimeout(function(){ alertFunc("Twle", "Google"); }, 2000); }
相关页面
Window 对象: setInterval() 方法
Window 对象: setTimeout() 方法
Window 对象: clearTimeout() 方法