最新回答 / 慕粉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