最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

javascript獲取隱藏元素(display:none)的高度和寬度的方法_javascript技巧

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 21:24:08
文檔

javascript獲取隱藏元素(display:none)的高度和寬度的方法_javascript技巧

javascript獲取隱藏元素(display:none)的高度和寬度的方法_javascript技巧:js獲取可見(jiàn)元素的尺寸還是比較方便的,這個(gè)可以直接使用這個(gè)方法: 代碼如下:function getDefaultStyle(obj,attribute){ // 返回最終樣式函數(shù),兼容IE和DOM,設(shè)置參數(shù):元素對(duì)象、樣式特性 return obj.currentStyleobj.curren
推薦度:
導(dǎo)讀javascript獲取隱藏元素(display:none)的高度和寬度的方法_javascript技巧:js獲取可見(jiàn)元素的尺寸還是比較方便的,這個(gè)可以直接使用這個(gè)方法: 代碼如下:function getDefaultStyle(obj,attribute){ // 返回最終樣式函數(shù),兼容IE和DOM,設(shè)置參數(shù):元素對(duì)象、樣式特性 return obj.currentStyleobj.curren

js獲取可見(jiàn)元素的尺寸還是比較方便的,這個(gè)可以直接使用這個(gè)方法:
代碼如下:
function getDefaultStyle(obj,attribute){ // 返回最終樣式函數(shù),兼容IE和DOM,設(shè)置參數(shù):元素對(duì)象、樣式特性
return obj.currentStyle?obj.currentStyle[attribute]:document.defaultView.getComputedStyle(obj,false)[attribute];
}


但是如果這個(gè)元素是隱藏(display:none)的,尺寸又是未知自適應(yīng)的,哪有上面的方法就不行了!因?yàn)閐isplay:none的元素是沒(méi)有物理尺寸的! 悲劇就這樣發(fā)生了!

幸好css中還有visibility:hidden,不可見(jiàn)屬性,他和display:none最大的區(qū)別就是visibility:hidden有物理尺寸。有物理尺寸就可以通過(guò)上面的方法獲取尺寸,但是將display:none改成visibility:hidden后頁(yè)面就有一塊空白在那里,即使在你獲取尺寸后在馬上將visibility:hidden改成display:none頁(yè)面那部分還是會(huì)抖動(dòng)一下。那么最好的辦法就是將這個(gè)隱藏的元素移出屏幕或者脫離文檔流( position: absolute)。這樣似乎非常完美了,但是悲劇又發(fā)生了,如果你要再顯示這個(gè)元素的時(shí)侯這個(gè)元素是不可見(jiàn)的,位置也不對(duì),因?yàn)檫@是這個(gè)元素visibility:hidden;position: absolute。所以在獲取尺寸后還要將樣式還原回去。就是將position和visibility屬性設(shè)回原來(lái)的樣式。

這就是js獲取隱藏元素的尺寸基本實(shí)現(xiàn)方式,大家有興趣可以看看《精通javascript》這本書上的方法。

我這里也做了個(gè)簡(jiǎn)單的demo,大家可以看看源代碼:
代碼如下:





js獲取隱藏元素的尺寸

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

javascript獲取隱藏元素(display:none)的高度和寬度的方法_javascript技巧

javascript獲取隱藏元素(display:none)的高度和寬度的方法_javascript技巧:js獲取可見(jiàn)元素的尺寸還是比較方便的,這個(gè)可以直接使用這個(gè)方法: 代碼如下:function getDefaultStyle(obj,attribute){ // 返回最終樣式函數(shù),兼容IE和DOM,設(shè)置參數(shù):元素對(duì)象、樣式特性 return obj.currentStyleobj.curren
推薦度:
標(biāo)簽: 的方法 js 的高度
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top