轻松上手,快乐学习!

Window setTimeout() 方法


实例

3秒(3000毫秒)后显示警报框:

setTimeout(function(){ alert("Hello"); }, 3000);
亲自试一试 »

页面下方有更多实例。


定义和用法

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

提示: 1000毫秒 = 1秒。

提示: 该函数只执行一次。如果需要重复执行,请使用 setInterval() 方法。

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


浏览器支持

表中的数字表示支持该方法的第一个浏览器版本。

方法
setTimeout() 1.0 4.0 1.0 1.0 4.0

语法

setTimeout(function, milliseconds, param1, param2, ...)

参数值

参数 描述
function 必需。将要执行的函数
milliseconds 可选。执行代码前等待的毫秒数。如果省略,则使用值0
param1, param2, ... 可选。传递给函数的其他参数(IE9及更早版本不支持)

技术细节

返回值: 一个数值,表示设置的计时器的ID值。将此值与 clearTimeout() 方法一起使用可取消计时器

更多实例

实例

您还可以引用"命名"函数;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);
}
亲自试一试 »

相关页面

Window 对象: clearTimeout() 方法

Window 对象: setInterval() 方法

Window 对象: clearInterval() 方法


❮ Window 对象