读书人

为什么style.height修改了后offsetHei

发布时间: 2012-03-19 22:03:04 作者: rapoo

为什么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
明白了就点个头!

读书人网 >JavaScript

热点推荐