setTimeout 和 setInterval 的区别

来源:互联网 发布:现流行的8位单片机 编辑:程序博客网 时间:2024/04/30 09:16
window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别。

  setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。

  setInterval方法则是表示间隔一定时间反复执行某操作。

  如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法:

  例如:tttt=setTimeout('northsnow()',1000);

clearTimeout(tttt);

  或者:

tttt=setInterval('northsnow()',1000);

clearInteval(tttt);

  举一个例子:

<div id="liujincai"></div>
<input type="button" name="start" value="start" onclick='startShow();'>
<input type="button" name="stop" value="stop" onclick="stop();">
<script language="javascript">
var intvalue=1;
var timer2=null;
function startShow()
{
liujincai.innerHTML=liujincai.innerHTML + " " + (intvalue ++).toString();
timer2=window.setTimeout("startShow()",2000);
}
function stop()
{
window.clearTimeout(timer2);
}
</script>

  或者:

<div id="liujincai"></div>
<input type="button" name="start" value="start" onclick='timer2=window.setInterval("startShow()",2000);//startShow();'>
<input type="button" name="stop" value="stop" onclick="stop();">
<script language="javascript">
var intvalue=1;
var timer2=null;
function startShow()
{
liujincai.innerHTML=liujincai.innerHTML + " " + (intvalue ++).toString();
}
function stop()
{
window.clearInterval(timer2);
}
</script> 

实例三

<form name="myform" action="" method="post">
<input name="agreeb" type="submit" class="INPUT1" value="(3 秒后继续)">
<input type="reset" class="INPUT1" onclick=history.back(-1) value=" 返回 ">
</form>
<script language="javascript">
<!--
var interval = 10;
document.myform.agreeb.disabled=true;
for(var i=1;i<=interval;i++){
window.setTimeout("Update(" + i + ")",i*1000);
}
function Update(num){
if (interval == num){
document.myform.agreeb.value="继续";
document.myform.agreeb.disabled=false;
}
else{
printnr  = interval - num;
document.myform.agreeb.value = "(" + printnr +"秒后继续)";
}
}
-->
</script>
原创粉丝点击