这两天一直在ajax的东西,昨天做一个小例子的时候发现了setTimeout这个函数,以前只知道setTimeinterval,发现这两个函数是有一些差别的。在网上搜了一下,作为备忘就转贴一下了。
window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别。
setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。
setInterval方法则是表示间隔一定时间反复执行某操作。
如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法:
例如:tttt=setTimeout('northsnow()',1000);
clearTimeout(tttt);
或者:
tttt=setInterval('northsnow()',1000);
clearInteval_r(tttt);
举一个例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<div id=
"liujincai"
></div>
<input type=
"button"
name=
"start"
value=
"start"
type=
"button"
name=
"stop"
value=
"stop"
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>
|
或者:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<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"
language=
"javascript"
>
var
intvalue=1;
var
timer2=
null
;
function
startShow()
{
liujincai.innerHTML=liujincai.innerHTML +
" "
+
(intvalue ++).toString();
}
function
stop()
{
window.clearInterval(timer2);
}
</script>
|
本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1339907,如需转载请自行联系原作者