---恢复内容开始---
在js使用offsetWidth来操作控件的运动是会遇到:
var oDiv = document.getElementById('div1')
oDiv.style.width = oDiv.offsetWidth - 1 +'px';
当我们运行时不会出什么错误:div会向左缩小。但是当我们在<style>中加入border:1px ;<style>时你会发现:div会向右延伸。
为什么会这样,因为oDiv.offsetWidth 是 oDiv.style.width + 2*border:1px,所有当oDiv.style.width = oDiv.offsetWidth - 1 +'px';运行的时候
oDiv.style.width = oDiv.style.width + 2*border:1px - 1 +'px' = oDiv.style.width + 1px。所以是在原来的基础上加1div会向右延伸。
你可以使用Currentstyle(只用于IE使用),getComputed(低版本IE不支持)来获取width的值。
---恢复内容结束---