很多時候會用到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