clientX、pageX、offsetX、screenX、offsetWidth、clientWidth等

1、clientX 、clientY

document.onclick = function (event){
	var clientX = event.clientX;
	var clientY = event.clientY;
}

这里的clientX和clientY是鼠标点击事件中点击的那个点在浏览器中的坐标

2、pageX、pageY

event.pageX 属性返回鼠标指针的位置,相对于文档的左边缘。

注意: clientX和pageX的区别

pageY = clientY + 纵向滚动条滚动的距离

clientX是相对于可视化窗口的坐标,即使有滚动条,即使滚动条滚动,在窗口(可视化窗口)相同的位置单击,坐标不变。
pageX的大小是可以根据滚动条的宽而变化,不仅仅是可视化窗口的坐标。

例子:对document添加点击事件,点击某一个位置(滚动条未滚动):
在这里插入图片描述
点击某一个位置(滚动条滚动了):
在这里插入图片描述

3、offsetX、offsetY

相对于所点击的元素的左上角的位置
例子:已知下方div的左外边距和上外边距都是100px,对于此div添加点击事件,结果如下:
在这里插入图片描述

4、screenX、screenY

screenX 鼠标事件属性
当触发事件时,screenX属性返回鼠标指针的水平坐标(根据用户计算机屏幕,而不是浏览器窗口)。
最右边为0,往左为负值

使用screenLeft和screenTop for IE8及更早版本

5、offsetWidth、offsetHeight 、offsetLeft、offsetTop

offsetWidth = width + 左右padding + 左右boder
offsetHeith = height + 上下padding + 上下boder

offsetLeft:当前元素 左边框 外边缘 到 最近的已定位父级(offsetParent) 左边框 内边缘的 距离。如果父级都没有定位,则分别是到body 顶部 和左边的距离。
offsetTop:当前元素 上边框 外边缘 到 最近的已定位父级(offsetParent) 上边框 内边缘的 距离。如果父级都没有定位,则分别是到body 顶部 和左边的距离

6、clientWidth、clientHeight、clientLeft、clientTop

clientWidth = width + 左右padding
clientHeigh = height + 上下padding

clientLeft 属性返回元素左边框的宽度(border)。此属性不包括元素的左margin或左padding 。此属性是只读的。
提示:您还可以使用style.borderLeftWidth属性返回元素左边框的宽度。

clientTop属性返回元素顶部边框的宽度。此属性不包括元素的顶部填充或上边距。此属性是只读的。
提示:您还可以使用style.borderTopWidth属性返回元素顶部边框的宽度。

总结

offsetWidth = 100px(width) + 20px(左右padding) + 20px(左右border) = 140px;
clientWidth = 100px(width) + 20px(左右padding) = 120px;
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值