JS中各坐标属性详解

298 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Event: 事件

event.clientX

事件被触发时,鼠标指针相对于浏览器页面左上角(客户区)水平坐标。

注意:客户区指当前窗口,即页面的全部高度,被滚动出屏幕的也算在内。

event.clientY

事件被触发时,鼠标指针相对于浏览器页面左上角(客户区)垂直坐标。

event.screenX

事件被触发时,鼠标指针相对于屏幕左上角的水平坐标。

event.screenY

事件被触发时,鼠标指针相对于屏幕左上角的垂直坐标。

event.offsetX(IE)

该属性只有IE浏览器使用,事件被触发时,鼠标指针相对于事件源的水平坐标。

event.offsetY(IE)

该属性只有IE浏览器使用,事件被触发时,鼠标指针相对于事件源的垂直坐标。

event.pageX

事件触发时,鼠标指针相对于文档左边缘的水平坐标。非标准属性,广泛浏览器支持。滚动出页面的内容也包含在内。

event.pageY

事件触发时,鼠标指针相对于文档上边缘的垂直坐标。非标准属性,广泛浏览器支持。滚动出页面的内容也包含在内。

Window: 窗口

window.screenX

返回窗口相对于屏幕左上角的水平坐标。不支持IE

window.screenY

返回窗口相对于屏幕左上角的垂直坐标。不支持IE

window.screenLeft(IE)

该属性只有IE浏览器使用,用于获取和window.screenX相同的值。

window.screenTop(IE)

该属性只有IE浏览器使用,用于获取和window.screenY相同的值。

DocumentElement: 节点元素

ele.clientWidth

返回节点元素的内容的可视宽度(不包含边框、外边距或滚动条)

ele.clientHeight

返回节点元素的内容的可视高度(不包含边框、外边距或滚动条)

ele.offsetWidth

返回节点元素的宽度,包括边框,不包括外边距。

event.target.offsetWidth:表示目标元素节点自身的宽度

ele.offsetHeight

返回节点元素的高度,包括边框,不包括外边距。

event.target.offsetHeight:表示目标元素节点自身的高度

ele.offsetLeft

返回当前元素的相对水平偏移位置的偏移容器。

ele.offsetTop

返回当前元素的相对垂直偏移位置的偏移容器。

ele.scrollWidth

返回整个元素的宽度,包括带滚动条的隐蔽的地方。

event.target.scrollWidth:表示目标元素节点完整宽度,包括溢出后滚动条隐藏的宽度

ele.scrollHeight

返回整个元素的高度,包括带滚动条的隐蔽的地方。

event.target.scrollHeight:表示目标元素节点完整高度,包括溢出后滚动条隐藏的高度

ele.scrollLeft

返回当前视图中的实际元素的左边缘和页面左边缘之间的距离(即元素内部水平方向滚动的值)。

ele.scrollTop

返回当前视图中的实际元素的顶部边缘和页面顶部边缘之间的距离(即元素内部垂直方向滚动的值)。

event.target.scrollTop:表示目标元素节点滚动条滚动溢出部分的高度

计算公式

滚动条滚动到底部时:event.target.scrollHeight = event.target.scrollTop + event.target.offsetHeight

滚动条滚动到最右部:event.target.scrollWidth = event.target.scrollLeft + event.target.offsetWidth

参考

cloud.tencent.com/developer/a…