为什么我不加判断宽度到400px照样停止呢
if(iTarget==iCur){
clearInterval(obj.timer)
}else{
if(iTarget==iCur){
clearInterval(obj.timer)
}else{
2016-09-10
不好意思,我没能完全理解你的问题。请把你修改后的代码粘贴上来。
但我猜你想说的是【把清除计时器给注释掉后,还是可以到400px停止】这个意思吗?
如果不是,请再一次详细描述您的问题。如果我猜对了,就请看下面的解答。
以下是判断icur(从style中调取的属性值) 与iTarget(目标值)的if判断。
if(icur == iTarget){
//clearInterval(obj.timer);
<---清除计时器函数 的目的是为了使计时器停止,阻止其继续增加宽度。
<---虽然清除计时器函数被注释了
<---但通过外面的if(icur == iTarget){【1】被注释的函数}else{【2】增加宽度程序}这个if判断
<---也可以阻止其继续增加宽度。满足条件执行1,不满足条件执行2.
<--- 这就很好理解。宽度没到400px,就会一直执行【2】。到了400px,就不会执行【2】(宽度停止增长)
}else{
if(attr == 'opacity'){
obj.style.filter ='alpha:(opacity='+icur+speed+')';
obj.style.opacity = (icur+speed)/100;
}else{
obj.style[attr] = icur + speed + 'px';
}
}
举报