上一章JavaScript教程请查看:JS创建对话框
在本教程中,你将了解JavaScript中的定时器函数。
使用定时器定时器是一个函数,它使我们能够在特定的时间执行一个函数。
使用计时器可以延迟代码的执行,这样就不会在触发事件或加载页面的确切时刻执行。例如,你可以使用计时器来定期更改网站上的广告横幅,或显示实时时钟等。JavaScript中有两个定时器函数:setTimeout()和setInterval()。
下面的小节将向你展示如何创建计时器来延迟代码执行,以及如何在JavaScript中使用这些函数重复执行一个或多个操作。
延迟执行代码setTimeout()函数用于在一段时间之后只执行一次函数或指定的代码段,它的基本语法是setTimeout(函数,毫秒)。
此函数接受两个参数:一个函数(即要执行的函数)和一个可选的延迟参数(即表示在执行函数之前等待的时间量的毫秒数)。让我们看看它是如何工作的:
<
script>
function myFunction() {
alert('Hello World!');
}
<
/script>
<
button onclick="setTimeout(myFunction, 2000)">点击<
/button>
上面的示例将在单击按钮2秒后显示警告消息。
注意:如果忽略或未指定delay参数,则使用0值,这意味着指定的函数将“立即”执行,或者“尽快”执行。
定时执行代码类似地,可以使用setInterval()函数以固定的时间间隔重复执行一个函数或指定的代码段,它的基本语法是setInterval(函数,毫秒)。
这个函数还接受两个参数:一个函数(要执行的函数)和interval(表示在执行函数之前等待的时间)(1秒= 1000毫秒)。这里有一个例子:
<
script>
function showTime() {
var d = new Date();
document.getElementById("clock").innerHTML = d.toLocaleTimeString();
}
setInterval(showTime, 1000);
<
/script>
<
p>计算机上的当前时间是: <
span id="clock"><
/span><
/p>
上面的示例将在1秒后重复执行showTime()函数,此函数检索计算机上的当前时间并将其显示在浏览器中。
停止代码执行或取消计时器setTimeout()和setInterval()方法都返回一个惟一的ID(一个称为定时器标识符的正整数值),它标识由这些方法创建的定时器。
此ID可用于禁用或清除计时器并预先停止代码的执行,可以使用两个函数来清除计时器:clearTimeout()和clearInterval()。
setTimeout()函数接受一个参数,一个ID,并清除一个与该ID相关联的setTimeout()计时器,如下面的例子所示:
<
script>
var timeoutID;
function delayedAlert() {
timeoutID = setTimeout(showAlert, 2000);
}
function showAlert() {
alert('这是一个JavaScript警告框.');
}
function clearAlert() {
clearTimeout(timeoutID);
}
<
/script>
<
button onclick="delayedAlert();
">两秒钟后显示警告<
/button>
<
button onclick="clearAlert();
">显示之前取消警报<
/button>
类似地,clearInterval()方法用于清除或禁用setInterval()计时器。
<
script>
var intervalID;
function showTime() {
var d = new Date();
document.getElementById("clock").innerHTML = d.toLocaleTimeString();
}
function stopClock() {
clearInterval(intervalID);
}
var intervalID = setInterval(showTime, 1000);
<
/script>
<
p>计算机上的当前时间是: <
span id="clock"><
/span><
/p>
<
button onclick="stopClock();
">停止<
/button>
【JS定时器timer – JavaScript教程】注意:可以在技术上交换使用clearTimeout()和clearInterval(),但是,为了清晰和代码的可维护性,应该避免这样做。
推荐阅读
- JS日期和时间 – JavaScript高级教程
- JS创建对话框 – JavaScript教程
- JS窗口导航器navigator – JavaScript教程
- JS窗口历史对象history – JavaScript教程
- JS窗口位置对象location – JavaScript教程
- JS屏幕对象screen – JavaScript教程
- JS窗口对象window – JavaScript教程
- JS DOM节点导航 – JavaScript教程
- JS DOM操作 – JavaScript教程