日期:2014-05-16  浏览次数:20451 次

为什么style.height修改了后offsetHeight不会变
<div   id= "divFlex "> <p> 内容 </p> </div>
<div   id= "bb ">   </div>

<script   type= "text/javascript ">
var   iHeight   =   divFlex.offsetHeight;
divFlex.style.height   =   (iHeight-1)   +   "px ";
bb.innerHTML   =   iHeight+ "_ "+divFlex.style.height+ "_ "+divFlex.offsetHeight;
</script>

显示结果是
内容

18_17px_18

为什么呢

------解决方案--------------------
style.height 是可写的,你写了什么数值那再调用就是什么,原来是18 ,你减去1后 肯定是17了。
offsetHeight是只读的,返回的是当前真正的高度,由于你把style.height 减去1 后又被里面的内容撑开了变回了18 所以高度还是18
明白了就点个头!