定时器
1. 分类
setTimeout(); //延迟执行,只执行一次;
setInterval(); //间歇执行,隔一段时间执行一次(轮播图,倒计时);
2. 语法
setTimeout(函数,延迟时间);-->延迟多久调用函数,单位:ms;
setInterval(函数,间歇时间);隔多长时间调用一次函数,单位:ms;
清除定时器
1. clearInterval
1. 语法:
clearInterval(intervalId);
// intervalId:定时器开启的时候,会返回一个能唯一表示当前计时器的Id,一般第一个定时器的id为1;
clearTimeout(timeoutId);
// timeoutId:定时器开启的时候,会返回一个能唯一表示当前计时器的Id,一般第一个定时器的id为1;
2. 注意:
定时器是可以叠加的,如果定时器加在事件或者能够被频繁触发的地方,在开启定时器之前,先清除掉定时器;
var a = null;-->a的值可以不写,可以为null,可以为undefined;
xBtn.onclick = function(){
clearInterval(a);//-->清除定时器;
a = setInterval(function(){
var x = parseInt(getStyle(xDiv,"left"));
var left = x + 5;
if(left >= 1000){
left = 1000;
clearInterval(a);
}
xDiv.style.left = left+"px";
},0)
}