$(window).width()
与$(window).height()
:得到的是屏幕可视区域的宽高,不包括滚动条与工具条。jquery
$(window).width() = width + padding $(window).height() = height + padding
document.documentElement.clientWidth
与document.documentElement.clientHeight
:得到的是屏幕可视区域的宽高,不包括滚动条与工具条,跟jquery的(window).width()与(window).height()得到的结果是同样的。浏览器
document.documentElement.clientWidth = width + padding document.documentElement.clientHeight = height + padding
window.innerWidth
与window.innerHeight
:得到的是可视区域的宽高,可是window.innerWidth宽度包含了纵向滚动条的宽度,window.innerHeight高度包含了横向滚动条的高度(IE8以及低版本浏览器不支持)。工具
window.innerWidth = width + padding + border + 纵向滚动条宽度 window.innerHeight = height + padding + border + 横向滚动条高度
window.outerWidth
与window.outerHeight
:得到的是加上工具条与滚动条窗口的宽度与高度。测试
window.outerWidth = width + padding + border + 纵向滚动条宽度 window.outerHeight = height + padding + border + 横向滚动条高度 + 工具条高度
document.body.clientWidth
与document.body.clientHeight
:document.body.clientWidth得到的也是可视区域的宽度,可是document.body.clientHeight得到的是body内容的高度,若是内容只有200px,那么这个高度也是200px,若是想经过它获得屏幕可视区域的宽高,须要样式设置,以下:code
body { height: 100%; overflow: hidden; } body, div, p, ul { margin: 0; padding: 0; }
最关键的是:body的height:100%影响document.body.clientHeight的值。
body的margin:0,padding:0影响document.body.clientWidth的值。文档
返回自己的宽高 + padding + border + 滚动条get
全部HTML元素拥有offsetLeft和offsetTop属性来返回元素的X和Y坐标it
1.相对于已定位元素的后代元素和一些其余元素(表格单元),这些属性返回的坐标是相对于祖先元素
2.通常元素,则是相对于文档,返回的是文档坐标iooffsetParent属性指定这些属性所相对的父元素,若是offsetParent为null,则这些属性都是文档坐标function
//用offsetLeft和offsetTop来计算e的位置 function getElementPosition(e){ var x = 0,y = 0; while(e != null) { x += e.offsetLeft; y += e.offsetTop; e = e.offsetParent; } return { x : x, y : y }; }
这两个属性是元素的内容区域加上内边距,在加上任何溢出内容的尺寸.
所以,若是没有溢出时,这些属性与clientWidth和clientHeight是相等的。
指定的是元素的滚动条的位置
scrollLeft和scrollTop都是可写的属性,经过设置它们来让元素中的内容滚动。
1.window innerWidth 和 innerHeight 属性与outerWidth和outerHeight属性IE8以及如下不支持。
2.测试浏览器IE,火狐,谷歌,360浏览器,Safari都支持document.documentElement.clientWidth与document.documentElement.clientHeight。
获取屏幕的可视区域的宽高可以使用jquery的方式得到,也能够使用原生js得到,即:
document.documentElement.clientWidth与document.documentElement.clientHeight