JS獲取一個(gè)未知DIV高度的方法
本文實(shí)例講述了JS獲取一個(gè)未知DIV高度的方法。分享給大家供大家參考,具體如下:
通過(guò)元素的clientHeight屬性能夠得到元素的高度,如:
var height = element.clientHeight;
這種做法的局限:
1. 如果元素的display屬性設(shè)置為none, 那么得到的結(jié)果為0
2. 在safari瀏覽器中,需要使用:element.offsetHeight得到實(shí)際高度,這是safari瀏覽器的bug
下面是Prototype提供的方法,能夠兼容各種瀏覽器,同時(shí)在元素隱藏的情況下也能正確得到元素尺寸,供參考:
getDimensions: function(element) {
element = $(element);
var display = $(element).getStyle('display');
if (display != 'none' && display != null) // Safari bug
return {width: element.offsetWidth, height: element.offsetHeight};
// All *Width and *Height properties give 0 on elements with display none,
// so enable the element temporarily
var els = element.style;
var originalVisibility = els.visibility;
var originalPosition = els.position;
var originalDisplay = els.display;
els.visibility = 'hidden';
els.position = 'absolute';
els.display = 'block';
var originalWidth = element.clientWidth;
var originalHeight = element.clientHeight;
els.display = originalDisplay;
els.position = originalPosition;
els.visibility = originalVisibility;
return {width: originalWidth, height: originalHeight};
}
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- 基于javascript實(shí)現(xiàn)按圓形排列DIV元素(一)
- javascript實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊頁(yè)面 移動(dòng)DIV
- JS控制div跳轉(zhuǎn)到指定的位置的幾種解決方案總結(jié)
- js實(shí)現(xiàn)非常棒的彈出div
- 完美的js div拖拽實(shí)例代碼
- 基于JavaScript實(shí)現(xiàn)鼠標(biāo)向下滑動(dòng)加載div的代碼
- AngularJS動(dòng)態(tài)生成div的ID源碼解析
- JavaScript鼠標(biāo)事件,點(diǎn)擊鼠標(biāo)右鍵,彈出div的簡(jiǎn)單實(shí)例
- js動(dòng)態(tài)添加的DIV中的onclick事件簡(jiǎn)單實(shí)例
- js 動(dòng)態(tài)添加元素(div、li、img等)及設(shè)置屬性的方法
- JS把內(nèi)容動(dòng)態(tài)插入到DIV的實(shí)現(xiàn)方法
- 基于javascript實(shí)現(xiàn)按圓形排列DIV元素(二)
相關(guān)文章
js+canvas實(shí)現(xiàn)兩張圖片合并成一張圖片的方法
這篇文章主要介紹了js+canvas實(shí)現(xiàn)兩張圖片合并成一張圖片的方法,結(jié)合實(shí)例形式分析了JavaScript結(jié)合HTML5 canvas實(shí)現(xiàn)圖片合并的操作技巧,并附帶了Java圖片合并的實(shí)現(xiàn)方法,需要的朋友可以參考下2019-11-11
html的DOM中Event對(duì)象onblur事件用法實(shí)例
這篇文章主要介紹了html的DOM中Event對(duì)象onblur事件用法,實(shí)例分析了onblur事件的使用范圍與對(duì)應(yīng)的javascript使用技巧,需要的朋友可以參考下2015-01-01
如何阻止復(fù)制剪切和粘貼事件為了表單內(nèi)容的安全
提交表單內(nèi)容如(密碼)重要信息時(shí),為了安全,需要阻止一些復(fù)制剪切和粘貼事件,下面與大家分享一個(gè)實(shí)例,感興趣的朋友可以參考下哈2013-05-05
javascript中活靈活現(xiàn)的Array對(duì)象詳解
本文的內(nèi)容就如同標(biāo)題一樣,這篇文章將會(huì)靈活的運(yùn)行Array對(duì)象的一些方法來(lái)實(shí)現(xiàn)看上去較復(fù)雜的應(yīng)用。相信對(duì)大家學(xué)習(xí)或者理解javascript中的Array對(duì)象能具有一定的參考借鑒價(jià)值,有需要的朋友們下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。2016-11-11
關(guān)于Javascript中defer和async的區(qū)別總結(jié)
相信看過(guò)javascript高級(jí)程序設(shè)計(jì)的人,在javascript高級(jí)程序設(shè)計(jì)里,應(yīng)該看到了介紹了有關(guān)defer和async的區(qū)別,可是比較淺顯,而且也說(shuō)得不是很清楚。下面我們來(lái)通過(guò)這篇文章來(lái)詳細(xì)了解下dfer和async的區(qū)別。2016-09-09
JS動(dòng)態(tài)圖片的實(shí)現(xiàn)方法完整示例
這篇文章主要介紹了JS動(dòng)態(tài)圖片的實(shí)現(xiàn)方法,結(jié)合完整實(shí)例形式分析了JavaScript鼠標(biāo)響應(yīng)與頁(yè)面元素屬性動(dòng)態(tài)變換相關(guān)操作技巧,需要的朋友可以參考下2020-01-01
詳解釘釘小程序組件之自定義模態(tài)框(彈窗封裝實(shí)現(xiàn))
這篇文章主要介紹了釘釘小程序組件之自定義模態(tài)框(彈窗封裝實(shí)現(xiàn))的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03

