JavaScript基础教程

JavaScript 对象

JavaScript 函数

JS HTML DOM

JS 浏览器BOM

AJAX 基础教程

JavaScript 参考手册

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”的功能(如数字手表):

// execute startTimer() once every 1 second
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);

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

// execute startTimer() once every 1 second
var t = setInterval(startTimer, 1000);

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

// cancels a repeating action that was created using setInterval()
function stopTimer() {
   clearInterval(t);
}
测试看看‹/›

更多示例

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

0
运行代码

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

运行代码