課程
/前端開發(fā)
/JavaScript
/JS動畫效果
div{width:200;}height:400; border:1px solid #f00;
2017-10-31
源自:JS動畫效果 4-2
正在回答
有沒有看完那節(jié)課?課程后面講了,是因為盒子的原因,真正的寬度是設置的width值再加上邊框的值*2(因為有左右邊框)。offsetWidth讀取的是width加上border的值,而style.width只是width的值。原先來說是oDiv.style.width + 2 = oDiv.offsetWidth(這里不是賦值,而是普通的相等)。實際oDiv.offsetWidth比oDiv.style.width大2像素,賦值運算的時候,雖然offsetWidth - 1了,也還是比style.width大1像素,真正算下來就是style.width不斷的加。
慕仙5237505 提問者
cRCHAN 回復 慕仙5237505 提問者
慕仙5237505 提問者 回復 cRCHAN
還是多了1px啊
第一次運行完后width變?yōu)?01,然后offsetWidth變?yōu)?+201+1=203,然后第二次運行后width=203-1=202,以此類推,所以逐漸變大
舉報
通過本課程JS動畫的學習,從簡單動畫開始,逐步深入各種動畫框架封裝
2 回答為什么動畫會一直轉動
2 回答這樣寫,為什么會一直運動?
1 回答為什么不行啊
1 回答為什么不會停止?
2 回答為什么沒反應啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-11-02
有沒有看完那節(jié)課?課程后面講了,是因為盒子的原因,真正的寬度是設置的width值再加上邊框的值*2(因為有左右邊框)。offsetWidth讀取的是width加上border的值,而style.width只是width的值。原先來說是oDiv.style.width + 2 = oDiv.offsetWidth(這里不是賦值,而是普通的相等)。實際oDiv.offsetWidth比oDiv.style.width大2像素,賦值運算的時候,雖然offsetWidth - 1了,也還是比style.width大1像素,真正算下來就是style.width不斷的加。
2018-05-30
還是多了1px啊
2017-11-18
第一次運行完后width變?yōu)?01,然后offsetWidth變?yōu)?+201+1=203,然后第二次運行后width=203-1=202,以此類推,所以逐漸變大