Open-Source World

let's learn and study.
posts - 28, comments - 23, trackbacks - 0, articles - 1

javascript定时器

Posted on 2007-08-30 18:25 tearofmoscow 阅读(16525) 评论(4)  编辑  收藏
在javascritp中,有两个关于定时器的专用函数,它们是:  

1.倒计定时器:timename=setTimeout("function();",delaytime);  

2.循环定时器:timename=setInterval("function();",delaytime);  

  function()是定时器触发时要执行的是事件的函数,可以是一个函数,也可以是几个函数,或者javascript的语句也可以,单要用;隔开;delaytime则是间隔的时间,以毫秒为单位。  

  倒计时定时器就是在指定时间后触发事件,而循环定时器就是在间隔时间到来时反复触发事件,其区别在于:前者只是作用一次,而后者则不停地作用。  

  倒计时定时器一般用于页面上只需要触发一次的的情况,比如点击某按钮后页面在一定时间后跳转到相应的站点,也可以用于判断一个浏览者是不是你的站点上的“老客”,如果不是,你就可以在5秒或者10秒后跳转到相应的站点,然后告诉他以后再来可以在某个地方按某一个按钮就可以快速进入。  

  循环定时器一般用于站点上需要从复执行的效果,比如一个javascript的滚动条或者状态栏,也可以用于将页面的背景用飞雪的图片来表示。这些事件需要隔一段时间运行一次。  

  有时候我们也想去掉一些加上的定时器,此时可以用clearTimeout(timename) 来关闭倒计时定时器,而用clearInterval(timename)来关闭循环定时器。  


例1:
<SCRIPT LANGUAGE="JavaScript">
setTimeout("confirm('123456')",1000);
</SCRIPT>

<script language="JavaScript" type="text/javascript">


function count() {
    setTimeout("alert('三秒到了')",3000)
}

</Script>

<INPUT TYPE="button" VALUE=" 计时开始" onClick="count()">

例2:
<Script><script language="JavaScript" type="text/javascript">


var sec = 0;
timerID = setInterval("count()",1000);

function count() {
    num.innerHTML = sec++;
}

</Script>

停留时间:
<FONT ID="num" FACE="impact">0</FONT>秒钟
<INPUT TYPE="button" VALUE="停止" onClick="clearInterval(timerID)">

例3:
<script language="JavaScript" type="text/javascript">


var str = "这是一个在线拍卖的网站,请尽情血拼吧!";
var seq = 0;

function scroll() {
    msg = str.substring(0, seq+1);
    banner.innerHTML = msg;
    seq++;
    if (seq >= str.length) seq = 0;
}

</Script>

<Body onLoad="setInterval('scroll()',500)">
<FONT ID="banner"></FONT>
</Body>

Feedback

# re: javascript定时器  回复  更多评论   

2009-01-29 22:33 by Hello World!
谢谢了。

# re: javascript定时器  回复  更多评论   

2009-06-10 15:04 by Vivianke
写的不错

# re: javascript定时器  回复  更多评论   

2009-11-03 17:53 by 狗屎运的兆头
发的

# re: javascript定时器  回复  更多评论   

2009-11-05 20:57 by node
很好

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问