JS获取一个未知DIV高度的方法
本文实例讲述了JS获取一个未知DIV高度的方法。分享给大家供大家参考,具体如下:
通过元素的clientHeight属性能够得到元素的高度,如:
varheight=element.clientHeight;
这种做法的局限:
1.如果元素的display属性设置为none,那么得到的结果为0
2.在safari浏览器中,需要使用:element.offsetHeight得到实际高度,这是safari浏览器的bug
下面是Prototype提供的方法,能够兼容各种浏览器,同时在元素隐藏的情况下也能正确得到元素尺寸,供参考:
getDimensions:function(element){
element=$(element);
vardisplay=$(element).getStyle('display');
if(display!='none'&&display!=null)//Safaribug
return{width:element.offsetWidth,height:element.offsetHeight};
//All*Widthand*Heightpropertiesgive0onelementswithdisplaynone,
//soenabletheelementtemporarily
varels=element.style;
varoriginalVisibility=els.visibility;
varoriginalPosition=els.position;
varoriginalDisplay=els.display;
els.visibility='hidden';
els.position='absolute';
els.display='block';
varoriginalWidth=element.clientWidth;
varoriginalHeight=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程序设计有所帮助。