在网页的特效制作中,经常要用到定时器,比如:间隔一定时间后页面自动跳转,或者间隔一定时间出现某种效果,像网页上的飞雪连天,或者背景颜色的定时改变等等。

  若要页面定时跳转,简单的可以在head头部的meta标记中设定重定向就可以了。但我要说的是javascript中的定时器,它的功能是十分强大和有用的。

  在javascript中有两个关于定时器的函数,它们是:
  1.倒计定时器:timename=setTimeout("function();",delaytime);
  2.循环定时器:timename=setInterval("function();",delaytime);

  其中倒计定时器顾名思义,是设定一段时间后执行function()函数,而循环定时器则是每隔一段时间都执行function()函数一次。
   倒计定时器一般用在一段时间后的触发的事件,比如页面的定时跳转,有一些站点就是在注册完成后自动跳转到登录页面,或者用于确定是“老客”还是“新 客”,是老客则会点击确定的某个地方(由站长设定)而快速进入站点,如果是“新客”,就不知道特定的点击处,所以可以设定5秒或者10秒转入新客页面。
  循环定时器则用于页面上的持续效果,比如背景用飞雪。

  function()函数,可以是一个函数,也可以是几个函数,中间用;连接,还可以接入javawcript的语句。
delaytime则是设定间隔的时间,以毫秒为单位。

  定时器的取消
  有时候,我们想把一个定时器去掉,像循环定时器就是一直不停的运动的。
  clearTimeout(timename)来清除setTimeout()定时器,参数timename为setTimeout()函数的返回值;
  clearInterval(timename)来清除setInterval()定时器,参数timename为setInterval()函数的返回值。

===================================================

实例讲解

使用定时器实现JavaScript的延期执行或重复执行
window对象提供了两个方法来实现定时器的效果,分别是window.setTimeout()和window.setInterval。其中前者可以使一段代码在指定时间后运行;而后者则可以使一段代码每过指定时间就运行一次。它们的原型如下:
window.setTimeout(expression,milliseconds);
window.setInterval(expression,milliseconds);
其中,expression可以是用引号括起来的一段代码,也可以是一个函数名,到了指定的时间,系统便会自动调用该函数;
当使用函数名作为调用句柄时, 不能带有任何参数,如window.setTimeout(hello,5000);
而使用字符串时,则可以在其中写入要传递的参数,如window.setTimeout("hello(‘Jack’)",5000)。
两个方法的第二个参数是milliseconds,表示延时或者重复执行的毫秒数。

1.window.setTimeout方法
该方法可以延时执行一个函数,例如:

<script language="JavaScript" type="text/javascript"> 
<!-- 
function hello(){ 
alert("hello"); 
} 
window.setTimeout(hello,5000); 
//--> 
</script>


这段代码将使得页面打开5秒钟后显示对话框“hello”。其中最后一句也可以写为:
window.setTimeout("hello()",5000);
window.setTimeout(hello,5000);和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.οnclick=function(){ 
     window.clearTimeout(id); 
} 
//--> 
</script>


这样,如果要取消显示,只需单击页面任何一部分,就执行了window.clearTimeout方法,使得超时操作被取消。

  好了,现在你就可以用定时器来为你的主页增光添彩了。