已采納回答 / wanoneQ
第八行 oar=getStyle(obj,attr)*100;中getStyle(obj,attr)需要用parseFloat()函數轉換為數字,再四舍五入提高準確度。oar=Math.round( parseFloat( getStyle(obj,attr) )*100);另外你的速度有問題,建議提高精確度采用緩沖動畫,防止邊緣抖動。
2016-02-19
已采納回答 / Betsey
第44行的attr沒有定義,應該把attr換成'width',因為attr是在getStyle()里面的局部變量,離開了getStyle()就會銷毀
2016-02-19
已采納回答 / 慕容6759333
比如移動到的目標值是300px,通過300減去當前的坐標0,再除以20,結果是15,div以15的速度向右移動,這是第一次定時器執行的結果。30毫秒后再執行一次,目標移動到了15,通過300減去當前坐標15結果是285,285除以20結果的14.25,這樣一次次運算下來,速度越來越小,比如速度是15、14.25、12.73、7.2。。。。這樣的。由于數值設置的原因,div移動到一定px后,進行相減再除20的運算后會出現小數,比如0.75,比如這時div移動到了290,程序里寫到div的left=oDiv....
2016-02-17
最贊回答 / qq_發條橙子_0
box2.onmouseover=omove; 執行這條語句的意思是box2的鼠標事件指向一個叫omove名字的function;box2.onmouseover=omove(0);執行這條語句的意思是box2指向的是omove運行的結果,而結果自然要運行出來才知道,omove函數就直接被調用了。于是不等鼠標over分享框就自己動起來了。但是omove又要接收參數,所以就把omove放在一個function里面。
2016-02-17
已采納回答 / hiccup_dai
<script type="text/javascript"> $(function(){ $('#move a').mouseenter(function(){ $(this).find('i').animate({top:"-25px",opacity:"0"},300,function(){ $(this).css({top:"30px"}); $(this).animate({top:"20px",opacity:"1"},200) }) ...
2016-02-17
最新回答 / Neil丶
如果attr你給他heigth值,那每次獲取到的是當前height值,意思就是每次獲取得到的icur是不一樣的,然后speed=(iTarget-icur)/8得到的速度就不時勻速的。我是這樣理解的!
2016-02-01
已采納回答 / 小感冒
復制了一下你的代碼測試了一下,應該是停在-190.5這個數的。原因我理解的是這樣的:因為-190.5還差-9.5就達到了-200,但是如果在進行運算的話,就是比-200小了。好比10/3,結果是3余1,永遠會留下一個1,這個1就相當于上面所說的-9.5.
2016-01-31
已采納回答 / haoyuanlin
這個可能是高度達到的時間比較短,然后在封裝的startMove中判斷動畫停止的時候認為目標值已經達到,所以執行了clearInterval(time);所以width達不到預期
2016-01-31