更多例子
您还可以引用一个“命名”函数; 每3秒(3000毫秒)警告“你好”:
var myVar;
function myFunction() {
myVar = setTimeout(alertFunc, 3000);
}
function alertFunc() {
alert("Hello!");
}
尝试一下
显示定时文本:
var x = document.getElementById("txt");
setTimeout(function(){ x.value = "2 seconds" }, 2000);
setTimeout(function(){ x.value = "4 seconds" }, 4000);
setTimeout(function(){ x.value = "6 seconds" }, 6000);
尝试一下
打开一个新窗口并在三秒钟(3000毫秒)后关闭窗口:
var myWindow = window.open("", "", "width=200, height=100");
myWindow.document.write("<p>This is 'myWindow'</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();
// add a zero in front of numbers<10
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, "First param", "Second param");
}
尝试一下
但是,如果您使用匿名函数,它将适用于所有浏览器:
var myVar;
function myStartFunction() {
myVar = setTimeout(function(){ alertFunc("First param", "Second param"); }, 2000);
}
尝试一下