为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会大一啊 ?

div{width:200;}height:400; border:1px solid #f00;

正在回答

3 回答

有没有看完那节课?课程后面讲了,是因为盒子的原因,真正的宽度是设置的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不断的加。

2 回复 有任何疑惑可以回复我~
#1

慕仙5237505 提问者

噢,意思是200=202-1; 然后左边就等于201? 然后后面的大2个像素怎么来的呢?看了还没绕明白
2017-11-02 回复 有任何疑惑可以回复我~
#2

cRCHAN 回复 慕仙5237505 提问者

加了1px的边框,但是左右两边都有边框,所以一共是加了2px的边框,,1+1
2017-11-02 回复 有任何疑惑可以回复我~
#3

cRCHAN 回复 慕仙5237505 提问者

1+200+1
2017-11-02 回复 有任何疑惑可以回复我~
#4

慕仙5237505 提问者 回复 cRCHAN

o,明白了,谢谢啊
2017-11-03 回复 有任何疑惑可以回复我~
查看1条回复

还是多了1px啊




0 回复 有任何疑惑可以回复我~

第一次运行完后width变为201,然后offsetWidth变为1+201+1=203,然后第二次运行后width=203-1=202,以此类推,所以逐渐变大

0 回复 有任何疑惑可以回复我~
#1

慕仙5237505 提问者

EE额,他好像说第一次是201 ,然后再加啊第二次是203了
2017-11-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JS动画效果
  • 参与学习       113925    人
  • 解答问题       1443    个

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

进入课程

为什么会大一啊 ?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信