獲取隱藏元素(display:none)的物理尺寸

問題及場(chǎng)景

假如我們有這樣一個(gè)輸入框,點(diǎn)擊能展開選擇。如下圖:

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計(jì)算培訓(xùn),高端軟件開發(fā)培訓(xùn),項(xiàng)目經(jīng)理培訓(xùn)

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計(jì)算培訓(xùn),高端軟件開發(fā)培訓(xùn),項(xiàng)目經(jīng)理培訓(xùn)大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計(jì)算培訓(xùn),高端軟件開發(fā)培訓(xùn),項(xiàng)目經(jīng)理培訓(xù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)元素的高度.

解決方案

網(wǎng)友評(píng)論