本文實例講述了JS獲取一個未知DIV高度的方法。分享給大家供大家參考,具體如下:
通過元素的clientHeight屬性能夠得到元素的高度,如:
var height = element.clientHeight;
這種做法的局限:
1. 如果元素的display屬性設置為none, 那麼得到的結果為0
2. 在safari浏覽器中,需要使用:element.offsetHeight得到實際高度,這是safari浏覽器的bug
下面是Prototype提供的方法,能夠兼容各種浏覽器,同時在元素隱藏的情況下也能正確得到元素尺寸,供參考:
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};
}
更多關於JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。