Javascript详解之定时器

作者:邹阳 | 发表于:2016-04-16 15:11:20

阅读量:(319) | 所属栏目:编程

定时器,可以让js重复的执行一段代码,或者延迟执行一段代码。

1)间隔型:一直运行
setInterval( 函数 , 时间 )  时间的单位是毫秒,1秒等于1000毫秒,每隔多少毫秒,就执行一次函数。注意,这个地方的函数  不加 括号。 1000毫秒=1秒
function show()
{
alert('a');
}
setInterval(show , 1000);

2)延长型:只执行一次
setTimeout( 函数 , 时间 )    等多久执行该函数

3)关闭定时器:clearInterval (********)  要关闭定时器,得先定义一个 变量,用来存储该定时器的,到时就关闭这个变量就关闭了定时器了
var timer1 = null;
timer1=setInterval(show,1000);        //虽然看起来是赋值操作,但是一样会打开定时器
clearInterval(timer1);
还可以取消延时定时器,不过没多大必要:
var timer2 = null;
timer2=setTimeout(show,1000);
clearTimeout(timer2);


NB:凡事用了定时器,要考虑4个问题:(参看 妙味课堂 运动课程1)
1、考虑是否需要关闭
2、重复触发时会开多个定时器,所以要每次开定时器之前加一个清除定时器
3、设置清楚定时器条件时要考虑到万一刚好跳过了条件值而未被清楚
4、满足条件要停止定时器,所以会用到if ,if里 清除定时器和执行定时器要用else隔开
补充:
定时器除了前面2个参数,还有第三个、第四个、更多的参数,这些参数是前面第一个函数参数的回调参数,例如:
 setTimeout( function(num)
{
    alert(num);  //会弹出123
} ,1000, 123);

回复内容:(还能输入1000字)
验 证 码: