很多时候会用到js控制某个元素的display样式来实现它显示或不显示;但是对于这个元素的父元素来讲用js获取父元素的宽高时会出现问题。
比如:
<div id="wrap" class="">
<div id="Layer" style="display:none" class="">
</div>
</div>
文档加载完毕的时候,Layer的display被设置成了none;这时候用js获取wrap的无论是offsetHeight还是 clientHeight都不包括Layer自身的高度,但是如果你用脚本把Layer的display属性动态设置成block;那么wrap的高度宽度就会自动加上Layer自身的高度,这对于做一些定位效果来讲是很麻烦的。
解决方法我测试通过的有:
A-在获取高宽之前设置Layer的block,但有时候这并不是你想要的
B-不用display控制显示状态,换用visibility,这个是比较好的方法,不用考虑css对于js的影响
CSS的display属性对js获取元素宽高的影响
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
node遇上c++ --- 爱情来的太快(一) (没有文章)
sewerganger
2019-02-24 22:55:07
Linux基本操作命令
wbzjacky
2019-02-24 13:12:38
真实的模拟***综合实验
wbzjacky
2019-02-24 13:12:37
三层交换机的HSRP、vlan、端口聚合
wbzjacky
2019-02-24 13:12:37
HSRP和二层交换机的端口聚合、vlan
wbzjacky
2019-02-24 13:12:37
服务器双机热备解决方案
wbzjacky
2019-02-24 13:12:37
各种光模块的传输距离
realzfd
2019-02-24 13:10:25
ESX4 通过VMware vSphere CLI 开启snmp
realzfd
2019-02-24 13:09:43
SOLARWINDS服务器更改计算机名导致的一次奇怪故障
realzfd
2019-02-24 13:09:42
Dlink交换机常用命令
千年小道
2019-02-24 13:06:21
Sametime的安装细节问题
god9394
2019-02-24 13:04:19