Skip to content

坐标

MouseEvent 中的坐标属性

属性描述
offsetX, offsetY鼠标指针相对于触发事件的元素的坐标(元素的左上角为原点)。
clientX, clientY鼠标指针相对于浏览器视口的坐标(不包括滚动条和页面滚动)。
x, yclientXclientY 相同,是它们的别名。
pageX, pageY鼠标指针相对于整个文档的坐标(包括页面滚动)。
screenX, screenY鼠标指针相对于屏幕的坐标(整个屏幕的左上角为原点)。

getBoundingClientRect()

el.getBoundingClientRect() 返回最小矩形的窗口坐标,该矩形将 el 作为内建 DOMRect 类的对象。

主要的 DOMRect 属性:

  • x/y —— 矩形原点相对于窗口的 X/Y 坐标,
  • width/height —— 矩形的 width/height(可以为负)。
  • 此外,还有派生(derived)属性:
    • top/bottom —— 顶部/底部矩形边缘的 Y 坐标,
    • left/right —— 左/右矩形边缘的 X 坐标。

coordinates

示例:

js
let elem = document.querySelector('div')
let rect = elem.getBoundingClientRect()
for (var key in rect) {
  if (typeof rect[key] !== 'function') {
    let para = document.createElement('p')
    para.textContent = `${key} : ${rect[key]}`
    document.body.appendChild(para)
  }
}

基于 MIT 许可发布