Javascript获取窗口(容器)的大小及位置参数列举及简要说明


在JavaScript中,你可以通过几种不同的方式获取浏览器窗口(或更具体地说,是视口或文档元素)的大小和位置参数。下面是一些常用的属性及其简要说明:

### 窗口(视口)大小

1. **innerWidth 和 innerHeight**

- **说明**:`window.innerWidth` 和 `window.innerHeight` 分别表示浏览器窗口(视口)的内部宽度和高度,包括滚动条(如果有的话),但不包括工具栏和状态栏。

2. **outerWidth 和 outerHeight**

- **说明**:这些属性通常表示整个浏览器窗口的宽度和高度,包括工具栏和状态栏等,但并非所有浏览器都支持或返回一致的值。因此,它们的使用较少。

3. **document.documentElement.clientWidth 和 clientHeight**

- **说明**:对于大多数现代浏览器来说,`document.documentElement.clientWidth` 和 `document.documentElement.clientHeight` 提供了视口(即内容区域)的宽度和高度,不包括滚动条。注意,在标准模式下,`document.documentElement` 通常指向 `` 元素。

### 窗口(视口)位置

1. **screenX 和 screenY**

- **说明**:`window.screenX` 和 `window.screenY` 表示浏览器窗口左上角相对于屏幕的x和y坐标。这通常用于确定窗口在屏幕上的物理位置。

2. **pageXOffset 和 pageYOffset**

- **说明**:这两个属性分别表示文档在水平方向和垂直方向已滚动的像素值。它们可以用于确定文档内容相对于视口的位置。

3. **scrollX 和 scrollY**

- **说明**:`window.scrollX` 和 `window.scrollY` 是 `pageXOffset` 和 `pageYOffset` 的别名,用于相同的目的,提供文档在水平和垂直方向上的滚动位置。

### 示例代码


// 获取窗口(视口)大小
const windowWidth = window.innerWidth;
const windowHeight = window.innerHeight;

// 获取文档元素(视口)大小
const documentWidth = document.documentElement.clientWidth;
const documentHeight = document.documentElement.clientHeight;

// 获取窗口(浏览器)位置(相对于屏幕)
const screenX = window.screenX;
const screenY = window.screenY;

// 获取文档滚动位置
const scrollX = window.scrollX;
const scrollY = window.scrollY;

console.log(`窗口宽度: ${windowWidth}, 窗口高度: ${windowHeight}`);
console.log(`文档宽度: ${documentWidth}, 文档高度: ${documentHeight}`);
console.log(`窗口位置X: ${screenX}, 窗口位置Y: ${screenY}`);
console.log(`滚动位置X: ${scrollX}, 滚动位置Y: ${scrollY}`);

这段代码演示了如何获取窗口(视口)的大小、文档的大小、窗口在屏幕上的位置,以及文档的滚动位置。