本文實(shí)例講述了JS獲取一個(gè)未知DIV高度的方法。分享給大家供大家參考,具體如下:
通過元素的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é)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
網(wǎng)友關(guān)注