已采纳回答 / 啊直直直直直
函数调用之后,先关闭定时器,假如没有定时器就不操作,有定时器就关闭,再继续执行下面的函数。如果后面有触发定时器的话,还是会触发成功。程序是从上到下的运行的。
2016-11-06
已采纳回答 / jw3631281
function startMove(iTarget){clearInterval(timer);var oDiv=document.getElementById('div1'); timer=setInterval(function(){var speed =(iTarget-oDiv.offsetLeft)/10;speed=speed>0? Math.ceil(speed):Math.floor(speed);} -------...
2016-11-02
已采纳回答 / 那一缕微风
因为如果不清除定时器的话,每次当鼠标移入的时候就会在先前的定时器上再开一个定时器,造成定时器的叠加,这样效果就不好了。设置+1是为了更好的看见定时器叠加后的效果。
2016-10-31
已采纳回答 / SoEasy_1
兄弟啊,细心点啊。你传参是Target,下面却在用Taret if(obj.alpha > Target){ speed = -10; } if(obj.alpha < Target){ speed = 10; }
2016-10-31
已采纳回答 / 折翼天使I
你的这句话写错了:<...code...>你先前已经定义过了,但是你这里又重新定义了一遍,但是javascript的运行是从上到下的,他认为你重新定义了一个新的timerId,简单说你去掉这个var就正常了,改成这样:<...code...>
2016-10-28