多物體運動如果只是設定乙個定時器(設定全域性定時器)的話,那麼三個div共用乙個乙個全域性定時器,那麼當乙個div沒有完成縮小動作的時候另乙個div開啟定時器執行伸展動作,由於定時器是全域性的,那麼上乙個div的定時器將被覆蓋即取消掉,故上乙個定時器無法完全地昨晚縮小動作,解決辦法是給每乙個div設定乙個屬性timer。
1.offsetwidth所獲得的並不只是物體的純寬度,還有物體的變寬以及外邊距。那麼在obj.style.width=obj.offsetwidth-1+"px";這句中,本意是希望縮小以1px的速度勻速縮小,但是如果將邊框的寬度設定為1px而非0px,那麼offsetwidth的值其實是obj的width(注意:不是style.width即不是行間的width)+2,上面這句變成了obj.style.width=obj的width+2-1+「px」;影象反而增大了。解決的辦法就是不用offsetwidth,而用obj的width。width通過getstyle方法獲得。
2.getstyle方法得到的是string。需要用parseint強制轉換成數字型別。
完整的運動框架:
對於js運動中產生的問題
1 不同的物件呼叫同乙個定時器情況,則需要將定時器的名稱定為該物件的乙個屬性來進行運用。例 doctype html html lang en head meta charset utf 8 title title title style div1 div2 img1 style head scri...
JS 運動的實現
1.停不下來 給定時器新增timer 來判斷是否需要停止 2.到目的地,還能點選移動,把移動的 放入else中 3.重複點選按鈕會加速運動 是因為點一次就會啟動一次定時器,多次就會啟動多次 保證只有乙個定時器在啟動,啟動一次就關閉上一次啟動定時器 運動框架 1 啟動就關閉定時器 2 if else ...
原生JS封裝運動框架 二
昨天我們傳入了一堆的引數,我來改善一下,把name和value變成乙個json傳進去,把dur,easing,fn三個引數變成乙個完整的乙個物件傳進去.到這裡我們要做一些簡單的運動方式,我們可以自己模擬數學函式 var a n count switch complete.easing 判斷屬性是不是...