最新回答 / 慕粉3951534
每次鼠标移入移出事件都会触发调用 startMove() 函数,每次调用 startMove() 函数,符合条件的情况下,都会执行 setInterval() 函数创建时钟,如果不先 clearInterval() 清除时钟,那么就会造成时钟多次叠加,比如,本来一次时钟每 30 毫秒移动 10px,两次时钟叠加,则会在 30 毫秒内无规律移动两次 10px,多次时钟叠加就更明显。
2017-01-16
最新回答 / weibo_punica___0
第一个else用于区分速度正负,只要达到判断的效果即可alpha==iTarget用于判断是否已经到达目标值,到达即清空计时器,不再运动
2017-01-15
最新回答 / 慕粉3951534
我们分两个情况,第一个情况是加到 400 的时候,第二个情况是减到 100 。在此之前,我们把下面这句代码转化一下:<...code...>你也知道,当前 wuti.offsetWidth = wuti.style.width + 2,当然这只是说明...
2017-01-13
最新回答 / qq_巧克力人生
function startMove(obj,json,fn) { clearInterval(obj.timer); var flag = true;/*flag作为判断每个运动是否都完成的标志*/ obj.timer = setInterval(function(){ for(var attr in json) { var temp = 0; if(attr =="opacity") { temp = Math.round(pa...
2017-01-11
最新回答 / qq_慕粉5446823
你写的 clearInterval(timer2);是暂停变化(因为达到了想要的透明度)。而透明度变回30是触发了onmouseout事件
2017-01-04
最新回答 / 慕虎9681967
var speed=(iTarget-obj.offsetWidth)/10;和 if(iTarget==obj.offsetWidth)中的 obj.offsetWidth 也要改成parseInt(getStyle(obj,'width')) 加了边框 obj.offsetWidth的值肯定会增加border*2
2017-01-01