JS中的setTimeout和setInterval的区别
来源:自学PHP网
时间:2014-09-19 14:47 作者:
阅读:次
[导读] 简单说来:setTimeout(Expression,DelayTime),在DelayTime过后,将执行一次ExpressionsetInterval(expression,delayTime),每个DelayTime,都将执行Expression....
常常可用于刷新表达式.
例1
代码如下 |
复制代码 |
<div id="a"></div>
<div id="b"></div>
<script type="text/javascript">
setTimeout("document.getElementById('a').innerHTML=new Date().getSeconds();",1000);
setInterval("document.getElementById('b').innerHTML=new Date().getSeconds();",1000);
</script>
|
setInterval() 例
代码如下 |
复制代码 |
var leftSeconds = 10;
var intervalId;
$(function(){
$("#btnReg").attr("disabled",true);
intervalId = setInterval("countDown()",1000);
});
function countDown(){
if(leftSeconds <=0){
$("#btnReg").val("submit");
$("#btnReg").attr("disabled",false);
clearInterval(intervalId);
return;
}else{
leftSeconds--;
$("#btnReg").val("请仔细阅读" + leftSeconds + "秒");
}
}
setTimeout()
setTimeout(function(){alert("Hello World");},1000)
|
会在执行到这句话后延迟1秒钟来弹出alert窗口。那么再看这一段:
代码如下 |
复制代码 |
function a() {
setTimeout(function(){alert(1)},0);
alert(2);
}
a();
|
区别总结
使用SetInterval和设定延时函数setTimeout 很类似。
setTimeout 运用在延迟一段时间,再进行某项操作。
setTimeout("function",time) 设置一个超时对象
setInterval("function",time) //设置一个超时对象
SetInterval为自动重复,setTimeout不会重复。
clearTimeout(对象) 清除已设置的setTimeout对象
clearInterval(对象) 清除已设置的setInterval对象 |