编辑这个页面须要登录或更高权限!

JavaScript 定时器(Timing)

下午11:01:41

计时函数是使我们能够在特定时间执行功能的函数。

使用计时函数,您可以延迟代码的执行,以免在触发事件的确切时刻完成代码。

JavaScript中有两个计时函数:

这两个setTimeout()setInterval()是方法窗口对象,可以在不窗口前缀被写入。

setTimeout()方法

setTimeout()方法用于在一段时间后仅执行一次函数或指定的代码段。

语法:

window.setTimeout(function, milliseconds)

第一个参数是要执行的函数。

第二个参数指示执行前的毫秒数(1秒= 1000毫秒)。

以下示例在单击按钮2秒钟后将显示警报消息:

<button onclick="setTimeout(myFunc, 2000)">Click</button>

<script>
function myFunc() {
  alert("Hello World");
}
</script>
测试看看‹/›

停止执行代码

clearTimeout()方法停止执行setTimeout()中指定的函数。

语法:

window.clearTimeout(var)

clearTimeout()方法使用从setTimeout()返回的变量。

  t = setTimeout();

  clearTimeout(t);

如果尚未执行该函数,则可以通过调用clearTimeout()方法来停止执行。

与上述示例相同,但添加了“停止”按钮:

<button onclick="myFunc()">Click</button>
<button onclick="myStopFunc()">Stop the alert</button>

<script>
var t;
function myFunc() {
  t = setTimeout(function(){ alert("Hello world"); }, 2000);
}

function myStopFunc() {
  clearTimeout(t);
}
</script>
测试看看‹/›

setInterval()方法

setInterval()方法重复调用一个函数,每次调用之间有固定的时间延迟。

语法:

window.setInterval(function, milliseconds)

第一个参数是要执行的函数。

第二个参数指示每次执行之间的时间间隔的长度。

本示例每秒执行一次称为“ startTimer”的功能(如数字手表):

//每1秒执行一次startTimer()
setInterval(startTimer, 1000);

function startTimer() {
  var date = new Date();
  document.getElementById("result").innerHTML = date.toLocaleTimeString();
}
测试看看‹/›

停止执行代码

clearInterval()方法停止执行setInterval()中指定的函数。

语法:

window.clearInterval(var)

clearInterval()方法使用从setInterval()返回的变量。

  t = setInterval();

  clearInterval(t);

与上述示例相同,但添加了“停止”按钮:

//每1秒执行一次startTimer()
var t = setInterval(startTimer, 1000);

function startTimer() {
  var date = new Date();
  document.getElementById("result").innerHTML = date.toLocaleTimeString();
}

//取消使用setInterval()创建的重复动作
function stopTimer() {
   clearInterval(t);
}
测试看看‹/›

更多示例

单击下面的“开始计数”按钮以启动计时器。单击“停止计数”按钮停止计数:

0
运行代码

单击下面的“启动进度”按钮以启动进度栏。单击“停止进度”按钮以停止进度栏:

运行代码

JavaScript菜鸟教程
JavaScript 对象
JavaScript 函数
JS HTML DOM
JS 浏览器BOM
AJAX 菜鸟教程
JavaScript 参考手册