window
innerWidth: 以像素为单位的窗口的内部宽度。如果垂直滚动条存在,则这个属性将包括它的宽度。
innerHeight: 浏览器窗口的视口(viewport)高度(以像素为单位);如果有水平滚动条,也包括滚动条高度。
outWidth: 获取浏览器窗口外部的宽度。表示整个浏览器窗口的宽度,包括侧边栏(如果存在)、窗口镶边(window chrome)和调正窗口大小的边框
outHeight: 获取整个浏览器窗口的高度(单位:像素),包括侧边栏(如果存在)、窗口镶边(window chrome)和窗口调正边框
下面的示意图展示了 outerHeight 和 innerHeight 两者的区别。
scrollX: 返回文档/页面水平方向滚动的像素值。window.pageXOffset == window.scrollX; // 总是 true,为了跨浏览器兼容性,请使用 window.pageXOffset 代替 window.scrollX。另外,旧版本的 IE(<9)两个属性都不支持,必须通过其他的非标准属性来解决此问题。完整的兼容性代码如下:
var x = (window.pageXOffset !== undefined) ? window.pageXOffset : (document.documentElement || document.body.parentNode || document.body).scrollLeft;
scrollY: 返回文档在垂直方向已滚动的像素值。window.pageYOffset == window.scrollY; // 总是返回 true,为了跨浏览器兼容,请使用 window.pageYOffset 代替 window.scrollY。另外,旧版本IE(<9)两个属性都不支持,必须使用其他的非标准属性。完整的兼容性代码如下:
var supportPageOffset = window.pageXOffset !== undefined;
var isCSS1Compat = ((document.compatMode || “”) === “CSS1Compat”);
var x = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;
var y = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;
pageXOffset: scrollX 的别名
pageYOffset: scrollY 的别名
screenLeft: 浏览器左边框到左边屏幕边缘的 CSS 像素数。screenLeft 只是 Window.screenX 属性的别名,最初只被 IE 浏览器所支持。现在主流的浏览器都已支持该属性。如果浏览器不支持 screenLeft属性,通过设置 Window.screenX为对应别名来实现一样的功能。
if(!window.screenLeft) {
window.screenLeft = window.screenX;
}
screenTop: 返回垂直距离,单位是CSS 像素, 从用户浏览器的上边界到屏幕最顶端。screenTop 只是 Window.screenY 属性的别名,最初只被 IE 浏览器所支持。现在主流的浏览器都已支持该属性。如果浏览器不支持 screenTop属性,通过设置 Window.screenY为对应别名来实现一样的功能。
if(!window.screenLeft) {
window.screenTop = window.screenY;
}
screenX: 返回浏览器左边界到操作系统桌面左边界的水平距离。
screenY: 返回浏览器顶部距离系统桌面顶部的垂直距离。
screen:
width: 返回屏幕的宽度。
availWidth: 返回浏览器窗口可占用的水平宽度(单位:像素)。
height: 返回屏幕的高度(单位:像素)。
availHeight: 返回浏览器窗口在屏幕上可占用的垂直空间,即最大高度。
availLeft: 返回浏览器可用空间左边距离屏幕(系统桌面)左边界的距离。
availTop: 浏览器窗口在屏幕上的可占用空间上边距离屏幕上边界的像素值。大多数情况下,该属性返回 0。