为了账号安全,请及时绑定邮箱和手机立即绑定

清除定时器的叠加有什么用?

ar timer=null;

var apha=30;

function changeColor(target){

clearInterval(timer);//就这句代码不懂

var box1=document.getElementById('box1');

timer=setInterval(function(){//为什么这里不要参数

var speed=0;

if(apha>target)

{

speed=-5;

}else{

speed=5;

}

if(apha==target)//什么条件呢

{

clearInterval(timer);

}else{

apha+=speed;

box1.style.filter="alpha(opacity:'+apha+')";

box1.style.opacity=apha/100;

}


},20)

}


正在回答

2 回答

使用setInterval 会返回一个数值来标记这个setInterval而且不是人为规定的数值,用timer来标记这个数值。用clearInterval来清除这个setInterval 不然setInterval会不断以一个间隔来重复触发里面的function,例如不断赋给一个变量一个相同的值。消耗内存。最简单的方面不清除定时器的叠加会让setInterval不断叠加,比如speed是每秒钟1PX移动,你重复触发5次就变成了每秒钟5PX移动,而且无法停止。至于函数为什么没有参数,你可以在回去复习一下JS的语法,入门的就可以了。



1 回复 有任何疑惑可以回复我~
#1

栄篱 提问者

谢谢你
2016-03-11 回复 有任何疑惑可以回复我~
#2

栄篱 提问者

非常感谢!
2016-03-19 回复 有任何疑惑可以回复我~

防止出现多个定时器

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

清除定时器的叠加有什么用?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信