DIV高度自适应实现
时间:
2010-4-26 - 分类:
JavaScript - 评论:
0 -
阅读:
1,610 次
项目中用到了google地图,需要地图显示的区域会自动扩展到最大,宽度的自适应是很容易的,width 100%就可以搞定,但是高度试过了几种方法都不满意,浏览器兼容性很难做,很麻烦。最后觉得还是用Javascript来实现最好。范例的代码如下:
HXMap.util =
{
autoResize: function(){
var MINHEIGHT = 450; //浏览器允许的最小高度
var TOPHEIGHT = 100;
var viewHeight = HXMap.util.getWindowHeight();
if (viewHeight < MINHEIGHT) {
viewHeight = MINHEIGHT;
}
var contentHeight = viewHeight - TOPHEIGHT;
$('#map').height(contentHeight);
$('#searchReasultList').height(contentHeight - 119);
},
getWindowHeight: function(){
return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
}
}
说起来也很简单,就是先获得当前浏览器窗口的可视高度,兼容性考虑到大部分浏览器了,然后扣除掉顶部的高度,结合jquery 使用设置下所需要设置高度的div。
最后这样调用:
HXMap.util.autoResize();
$(window).resize(function(){
HXMap.util.autoResize();
});
这样调用的效果就是在初始载入的时候调高度整一次,每次窗口大小改变的时候自动调整div高度。最后的效果如: