clientX与offsetX、clientWidth与offsetWidth的区别

article/2025/9/26 14:41:02

相关属性介绍

都要结合鼠标事件监听使用

1、client相关属性

获取鼠标位置

鼠标相对于视口的位置
e.clientX e.clientY (e是鼠标对象)

获取节点尺寸

节点.clientWidth; 节点.clientHeight;(返回值为数值)

clientWidth = content宽度 + 左padding + 右padding(即:实际尺寸 不含border和margin,不论是什么盒模型)

clientHeight = content高度 + 左padding + 右padding (即:实际尺寸 不含border和margin,不论是什么盒模型)

获取边框宽度

clientTop = 上边框的宽度

clientLeft = 左边框的宽度

2、offset相关属性

获取鼠标位置

鼠标相对于事件源的位置
e.offsetX e.offsetY (如果鼠标事件为mousemove,则移到子节点时变成相对于子节点的位置)

获取节点尺寸

节点.offsetWidth; 节点.offsetHeight;(返回值为数值)

offsetWidth = content宽度 + 左padding + 右padding + 左boder + 右boder

offsetHeight = content高度 + 左padding + 右padding + 左boder + 右boder

offsetTop:当前节点的 上边框外边缘 到最近的已定位父级(offsetParent) 上边框内边缘 的距离。

offsetLeft:当前元素 左边框外边缘 到最近的已定位父级(offsetParent) 左边框内边缘 的距离。
offsetParent:获取离当前元素最近的已定位父级(即:position有以下属性值之一:relative absolute fixed),如果父级都没有定位,则获取的为body节点

区别

clientX/clientY 的位置是鼠标相对于整个视口的左上角的位置
offsetX/offsetY 的位置是鼠标相对于事件源(即鼠标所停留在的那个节点)的左上角的位置

clientWidth/clientHeight 的尺寸是节点不包含border宽度和margin的尺寸,不论是什么盒模型都不包含
offsetWidth/offsetHeight 的尺寸是节点不包含margin的尺寸

区别图如下
区别图


http://chatgpt.dhexx.cn/article/3HitIqw0.shtml

相关文章

图解事件坐标screenX、clientX、pageX, offsetX的区别

一、图解 如图所示,假设页面中灰色圆点是鼠标点击处,黄色区域是鼠标触发事件对象 二、概念 1、screenX 和screenY 参照点:电脑屏幕左上角screenX:鼠标点击位置相对于电脑屏幕左上角的水平偏移量screenY:鼠标点击位置…

clientX、pageX、screenX以及offsetX区别

clientX、pageX、clientX以及offsetX区别 client系列(不包含滚动条) clientX:鼠标相对于浏览器窗口可视区域x方向坐标 clientY:鼠标相对于浏览器窗口可视区域y方向坐标 page系列(包含滚动条) pageX&…

Client/Service

目录 客户--服务器方式 客户程序: 服务程序 TCP连接的建立采用客户服务器方式。主动发起连接建立的应用进程叫做客户(client),而被动等待连接建立的应用进程叫做服务器(server)。 客户--服务器方式 客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户-服务…

js鼠标事件 clientX、clientY、offsetX、offsetY、layerX、layerY、pageX、 pageY、screenX、screenY

MouseEvent的类别有以下: mousedown 鼠标按下mouseup 鼠标释放click 左键单击dblclick 左键双击mousemove 鼠标移动mouseover 鼠标经过mouseout 鼠标滑出mouseenter 鼠标进入mouseleave 鼠标离开contextmenu 右键菜单 注意: 执行顺序:mous…

图解offsetX、offsetY和clientX、clientY和pageX、pageY和screenX、screenY的区别

offsetX、offsetY: 鼠标相对于事件源元素的X,Y坐标。比如说,我给黄色的盒子定义一个点击事件,则这个offset的坐标原点就在这个黄色盒子的左上角 clientX、clientY: 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标)&…

clientX, clientY | offsetX, offsetY | pageX, pageY的区别:

clientX, clientY | offsetX, offsetY | pageX, pageY的区别: ✍ clientX, clientY:指的是鼠标点击位置距离可视窗口的坐标; 图示:在不拉滚动条的情况下 在拉滚动条的情况下: 还是点击位置距离可视窗口左上角的距离 …

clientX和clientY

####需求: 做项目中遇到一个这样的需求,点击属性菜单节点,出现显示框,显示框的位置随着鼠标点击的位置距离而改变。 ###教程: clientX 事件属性 http://www.runoob.com/jsref/event-clientx.html clientY 事件属性 h…

pageX和clientX的区别

目录 定义: 代码求证 结论: 定义: e.page:返回鼠标相对于文档页面的左上角的坐标(滚轮滑动时改变) page的大小页面滚动部分大小距离窗口可视区距离的大小(距离整个文档左上角距离的大小) e.client:返回鼠标相对于浏…

HTML 页面中的位置:clientX、screenX、offsetX、pageX

事件中鼠标的 (x,y) 位置 clientX 鼠标相对于浏览器左上角x轴的坐标; 不随滚动条滚动而改变;clientY 鼠标相对于浏览器左上角y轴的坐标; 不随滚动条滚动而改变;pageX 鼠标相对于浏览器左上角x轴的坐标; 随滚动条滚动而…

JavaScript 中一些概念理解 :clientX、clientY、offsetX、offsetY、screenX、screenY

clientX: 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。 clientY: 设置或获取鼠标指针位置相对于窗口客户区域的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。 offset…

JS之clientX,clientY,screenX,screenY,offsetX,offsetY区别测试

首先需要知道clientX,clientY,screenX,screenY,offsetX,offsetY 是鼠标事件对象下的几个属性. 之前也一直对这些属性搞的稀里糊涂,看文档上说的也是不太理解,反正看完一头雾水,所以自己动手亲自测试了一下;说一下自己的理解&…

自学C语言和C++,有什么好书推荐?

C语言 早在20世纪80年代,C语言就已经成为小型计算机(UNIX系统)使用的主流语言。从那以后,C语言的应用范围扩展到微型机(个人计算机)和大型机(庞然大物)。如图1.2所示,许…

C语言程序员必读的5本书

本文由 伯乐在线 - programmer_lin 翻译。未经许可,禁止转载! 英文出处: fromdev。欢迎加入 翻译组。 你正计划着通过看书来学习C语言吗?“书籍是人类最忠诚的朋友“。海明威一定知道书籍对一个人一生的重要性。书籍是知识的丰富…

学 C 语言,最经典的书有这样几本

选择C语言的理由 在过去40多年里,C语言已成为最重要、最流行的编程语言之一。它的成长归功于使用过的人都对它很满意。过去20多年里,虽然许多人都从C语言转而使用其他编程语言(如,C、Objective C、Java等)&#xff0c…

学习C语言编程,推荐你看这6本书

C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程…

初学C语言,有什么好书推荐?

全篇干货,我敢保证对你绝对有用。C语言是一种通用的,面向过程的高级编程语言,他以易于理解,简洁灵活,语法易读,成为了目前世界上最流行和最具影响力的语言之一。 那么新手在学习c语言的入门阶段,该怎么快速巩固基础? 我把自己压箱底的宝贝书单总结了一下,我真的不知…

编程书籍:适合学习C语言的 7 本书籍,零基础别再乱买了

相信有很多同学想要高考后准备大学选择计算机方向,而90%以上的高校都是从C语言开始的,那么今天我就分享一下学习C语言的书籍,从基础到深入,这几本书完全够你学习了! 1. C primer plus C primer plus作为一本被人推崇备…

最受推荐的10本C/C ++书籍

链接:https://hackr.io/blog/10-best-c-cpp-books C和C 是世界上最流行的编程语言之二。C 是C语言的扩展,这两门语言的潜力都是不可估量的,这就是为什么无论什么规模的企业都可以使用它们,因为它具有可扩展性和可移植性。随着语言…

c语言好书推荐

以下列举出一部分,欢迎补充。 图书信息大部分出自豆瓣。 以下图书均有电子版下载链接,本人法盲,如有侵权问题请告知,我将删除所有链接和电子资源。还请大家买纸质版书籍,尊重版权。 《c程序设计语言》 在计算机发展…

C语言学习书籍推荐!(附自学课程)

C语言作为学编程最好的入门语言,对一个初进程序大门的小白来说是很有帮助的,学习编程能培养一个人的逻辑思维,而C语言则是公认的最符合人们对程序的认知的一款计算机语言,很多大学都选择了使用C语言作为大学生编程的启蒙语言。曾经…