
使用计时器来延迟或重复执行JavaScript
window对象提供了两种实现计时器效果的方法,即window.setTimeout()和window.setInterval. 前者可以使一段代码在指定时间后运行;后者可以使一段代码每指定时间运行一次. 他们的原型如下:
window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds);
表达式可以是一段用引号引起来的代码或一个函数名. 系统将在指定时间自动调用该函数. 当使用函数名作为调用句柄时,它不能接受任何参数;使用字符串时,可以编写要传递的参数. 两种方法的第二个参数是毫秒,表示延迟或重复执行的毫秒数. 下面介绍两种方法.

1. window.setTimeout方法
此方法可能会延迟功能的执行延时器时间,例如:
<script language="JavaScript" type="text/javascript">
<!--
function hello(){
alert("hello");
}
window.setTimeout(hello,5000);
//-->
</script>
此代码将导致对话框“ hello”在打开页面后5秒钟出现. 最后一句话也可以写成:

window.setTimeout(“ hello()”,5000);
读者可以体会到它们之间的区别,并且该属性也可以在window.setInterval方法中找到.
如果延迟执行在延迟时间到期之前被取消,则可以使用window.clearTimeout(timeoutId)方法,该方法接收一个代表计时器的ID. 该id由setTimeout方法返回延时器时间,例如:
<script language="JavaScript" type="text/javascript">
<!--
function hello(){
alert("hello");
}
var id=window.setTimeout(hello,5000);
document.onclick=function(){
window.clearTimeout(id);
}
//-->
</script>

这样,如果要取消显示,只需单击页面的任意部分,就会执行window.clearTimeout方法,从而取消超时操作.
2. window.setInterval方法
此方法使函数每隔固定时间调用一次,这是一种非常常见的方法. 如果要取消计划执行,则类似于clearTimeout方法,可以调用window.clearInterval方法. clearInterval方法还接收setInterval方法返回的值作为参数. 例如:
//定义重复的通话

var id=window.setInterval("somefunction",10000);
//取消定时执行
window.clearInterval(id);
以上代码仅用于说明如何取消定时执行. 实际上,在许多情况下都需要setInterval方法. 下面将设计一个秒表,以介绍setInterval函数的用途: 该秒表将包括两个按钮和一个用于显示时间的文本框. 单击开始按钮后,计时开始. 最小单位是0.01秒. 此时,再次单击该按钮可停止计时. 文本框显示经过的时间. 另一个按钮用于重置当前时间. 实现代码如下:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/dianqi/article-232265-1.html
现在的情况已经完全不同
但慢慢的就有人开始说道了