js获取宽度
alert(window.screen.width );//浏览设备的分辨率(电脑、手机、平板等)
alert(window.screen.availWidth );//浏览设备的实际可用宽度(电脑、手机、平板等)
alert(window.innerWidth);//浏览器的可用(内部)宽度(包括滚动条等)[ie不支持]
alert(document.documentElement.clientWidth || document.body.clientWidth);//浏览器实际的可用文档宽度【兼容ie】
document.body.clientWidth:
谷歌、火狐:body的实际显示宽度+padding
ie:body的实际显示宽度-border
document.body.offsetWidth:
谷歌、火狐:body的实际显示宽度+padding+border
ie:body的实际显示宽度
document.body.scrollWidth:
谷歌、火狐:body的实际可用宽度+padding
ie:body的实际可用宽度-border
注:在css设置body为2400px时body的实际宽度为2400+border+padding;而谷歌、火狐为2400px
以下是收集其他作者的总结:
原文链接:http://www.cnblogs.com/lshabest/p/6429219.html
1.对于IE9+、chrome、firefox、Opera、Safari:
window.innerHeight浏览器窗口的内部高度;
window.innerWidth浏览器窗口的内部宽度;
2.对于IE8.7.6.5:
document.documentElement.clientHeight:表示HTML文档所在窗口的当前高度;
document.documentElement.clientWidth:表示HTML文档所在窗口的当前宽度;
或者,因为document对象的body属性对应HTML文档的<body>标签,所以也可表示为:
document.body.clientHeight:表示HTML文档所在窗口的当前高度;
document.body.clientWidth:表示HTML文档所在窗口的当前宽度;
结论:
document.body.clientWidth/Height:的宽高偏小,高甚至默认200;
document.documentElement.clientWidth/Height 和 window.innerWidth/Height 的宽高始终相等。
所以在不同浏览器都实用的的Javascripit方案:
二:网页正文全文宽高
scrollWidth和scrollHeight获取网页内容高度和宽度
1.针对IE.Opera:scrollHeight是网页内容实际高度,可以小于clientHeight;
2.针对NS.firefox:scrollHeight是网页内容高度,不过最小值是clientHeight;也就是说网页内容实际高度小于clientHeight的时候,scrollHeight返回clientHeight;
3.浏览器兼容代码:
二:网页可见区域宽高,包括滚动条等边线(会随窗口的显示大小改变)
1.值: offsetWidth = scrollWidth + 左右滚动条 +左右边框;
offsetHeight = scrollHeight + 上下滚动条 + 上下边框;
2.浏览器兼容代码:
三:网页卷去的距离与偏移量
1.scrollLeft:设置或获取位于给定对象左边界与窗口中目前可见内容的最左端之间的距离;
2.scrollTop:设置或获取位于给定对象最顶端与窗口中目前可见内容的最左端之间的距离;
3.offsetLeft:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算左侧位置;
4.offsetTop:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算顶端位置;