课程
/前端开发
/JavaScript
/JS动画效果
div{width:200;}height:400; border:1px solid #f00;
2017-10-31
源自:JS动画效果 4-2
正在回答
有没有看完那节课?课程后面讲了,是因为盒子的原因,真正的宽度是设置的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变为201,然后offsetWidth变为1+201+1=203,然后第二次运行后width=203-1=202,以此类推,所以逐渐变大
举报
通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装
2 回答为什么动画会一直转动
2 回答这样写,为什么会一直运动?
1 回答为什么不行啊
1 回答为什么不会停止?
2 回答为什么没反应啊