首页 » JavaScript » WEB前端 -- javascript定时器

WEB前端 -- javascript定时器

原文 http://blog.csdn.net/qq814965130/article/details/79216520

2018-02-01 02:00:06阅读(358)

javascript定时器

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

若要页面定时跳转,简单的可以在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方法

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

<scriptlanguage="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方法返回的,例如:

<scriptlanguage="JavaScript" type="text/javascript">
<!--
function hello(){
alert("hello");
}
var id=window.setTimeout(hello,5000);
document.onclick=function(){
window.clearTimeout(id);
}
//-->
</script>

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

出处:http://www.cnblogs.com/phyllis/archive/2011/05/25/2056323.html

出处:http://www.cnblogs.com/phyllis/archive/2011/05/25/2056324.html


最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹