本文实例讲述了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 temporarilyvar 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程序设计有所帮助。