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程序设计有所帮助。