本文實例講述了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程序設計有所幫助。