獲取隱藏元素(display:none)的物理尺寸
問題及場(chǎng)景
假如我們有這樣一個(gè)輸入框,點(diǎn)擊能展開選擇。如下圖:
在這里輸入框和下方的展開區(qū)域是分離的,獨(dú)立的兩個(gè)控件!初始狀態(tài)下面的可選框是隱藏的(ng-show=false)
展開區(qū)域中可折疊組件accordion(對(duì)應(yīng)圖中省份,排序字段,短消息部分)的高度是隨著數(shù)據(jù)自適應(yīng)撐開,點(diǎn)擊accordion折疊收縮時(shí)有一個(gè)高度變化的動(dòng)畫效果!
在計(jì)算accordion的高度時(shí)卻無法獲取數(shù)據(jù)節(jié)點(diǎn)元素的高度,導(dǎo)致accordion的高度為0,無法折疊!
原因
在一個(gè)隱藏的div元素節(jié)點(diǎn)中無法獲取它子元素的物理尺寸!即輸入框下面的展開區(qū)域還是隱藏時(shí),accordion控件無法獲取數(shù)據(jù)DOM節(jié)點(diǎn)元素的高度.
解決方案