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

article/2025/10/15 6:36:53

文章目录

    • 1、clientX 、clientY
    • 2、pageX、pageY
    • 注意: clientX和pageX的区别
    • 3、offsetX、offsetY
    • 4、screenX、screenY
    • 5、offsetWidth、offsetHeight 、offsetLeft、offsetTop
    • 6、clientWidth、clientHeight、clientLeft、clientTop
    • 总结

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;
在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/vprVa2Da.shtml

相关文章

图解鼠标事件的 ScreenX ,LayerX,clientX,PageX,offsetX,X

前言: 完在上一篇文章 🎁如何实现原生 JS 的拖拽效果我中使用到了 MouseEvent 事件对象身上的 clienX 的属性,但同时我也注意到了事件对象身上关于 X 的相关属性还有很多,并且在移动端开发中,这些属性需要频繁的用到&a…

pageX,clientX,offsetLeft,scrollLeft的区别

pageX,clientX,offsetLeft,scrollLeft的区别 1、pageX / pageY pageX / pageY的值为鼠标相对于document的距离,即网页左上角的位置 2、clientX / clientY clientX / clientY的值为鼠标相对于浏览器可视区域左上角的距离 3、offsetLeft / offsetTop offsetLeft …

详细区分offsetX,clientX,pageX,screenX,layerX和X的区别

详细区分DOM事件中鼠标指针的坐标问题 前面博客中我们讲解到了DOM事件的event对象&#xff0c;里边包含了鼠标事件的指针坐标属性。比如event.offsetX,event.clientX,event.pageX,event.screenX等等。现在我们来解析一下这些坐标属性的区别。 HTML代码&#xff1a; <div c…

screenX、client X、pageX、offsetX、layerX

screenX, client X screenX: 鼠标在屏幕中的水平坐标 client X: 鼠标在客户端区域&#xff08;浏览器可视区域&#xff09;的水平坐标&#xff0c;不论页面是否有水平滚动 pageX 相对于整个文档的x&#xff08;水平&#xff09;坐标 个人认为&#xff1a;pageX clientX sc…

Page和PageInfo

Page和PageInfo 两者都能获取到数据&#xff0c;Page是一个ArrayList。 PageInfo是一个对象&#xff0c;能获取到的数据比Page多 如何使用 Page对象 参数解析 private int pageNum; //当前页码 private int pageSize; //每页数据的数量 private int startRow; //始页首行行…

正确使用pageX、pageY、offsetLeft、offsetTop

获取鼠标位置的时候&#xff0c;遇到一点疑问&#xff0c;然后验证了一下自己的疑惑&#xff1b; pageX、pageY跟clientX和clientY类似&#xff0c;是相对于浏览器文档的坐标&#xff1b; offsetLeft、offsetTop获取的是固定定位&#xff0c;也就是说&#xff0c;监听某个选择…

pageX,pageY,screenX,screenY,clientX,和clientY,offsetX ,offsetY,layerX,layerY的使用 和 区别

pageX&#xff0c;pageY&#xff0c;screenX&#xff0c;screenY&#xff0c;clientX&#xff0c;和clientY返回一个数&#xff0c;其指示物理“CSS像素”的数量的点是从参考点。事件点是用户单击的位置&#xff0c;参考点是左上角的一个点。这些属性返回该参考点的水平和垂直距…

clientX,screenX,pageX,offsetX的区别

前言 关于clientX,screenX,pageX,offsetX的区别之前也比较迷糊&#xff0c;然后自己写了几个demo算是弄明白了&#xff0c;在这记录一下。 定义 一、clientX、clientY 点击位置距离当前body可视区域的x&#xff0c;y坐标。 可以理解为距离浏览器窗口的距离&#xff0c;但注意…

clientX、offsetX、screenX、pageX的区别

一、概念总结 1、event.clientX、event.clientY 鼠标相对于浏览器窗口可视区域的X&#xff0c;Y坐标&#xff08;窗口坐标&#xff09;&#xff0c;可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性.clientX指可视区域内离左侧的距离&#xff0c;以滚动条滚…

页面上pageX、offsetLeft等的使用方法

页面上pageX、offsetLeft等的使用方法 pageX: 页面X坐标位置 pageY: 页面Y坐标位置 <script>window.onmousemovefunction(e){// 鼠标移动的时候得到鼠标实时的位置console.log(${e.pageX},${e.pageY});} </script>screenX: 屏幕X坐标位置 screenY: 屏幕Y坐标位置…

【arduino 问题记录】 psram: PSRAM ID read error: 0xffffffff

问题描述&#xff1a;采用ESP32-s将数据通过4G模块发送到阿里云的时候&#xff0c;只要数据一发送&#xff0c;esp32-s就一直重新连接4G模块。 图一中红色框就是我要传输到阿里云的内容&#xff0c;蓝色框显示的就是报错信息&#xff0c;接下来显示的就是一直重新连接&#xff…

为什么0xffffffff是-1?(计算机对整型的存储)

一个数字在计算机中都是以二进制补码的形式存储的。 先了解这句核心。。。 我们认为中的int整型数值顺序 java中int类型是4个字节&#xff0c;也就是32位&#xff0c;其中第一位是符号位&#xff0c; int数值的存储结构 我们利用 System.out.println(Integer.toBinaryStri…

ESP32-C3烧录后打印报错invalid header: 0xffffffff【flash_download_tool_3.9.3.exe工具烧录】

ESP32-C3没有一键下载电路的情况下是使用的乐鑫官方下载工具flash_download_tool_3.9.3.exe 【工具 | 乐鑫科技 (espressif.com.cn)】 在下载工具中&#xff0c;你选择你的下载地址非常重要。 如果你是ESP32其他系列&#xff0c;你需要选择你的bootloader.bin是0x1000开始 如果…

C语言>>8 0xFF; 0xFF;作用

示例 Buff[0] data & 0xFF;Buff[1] data >> 8 & 0xFF;比如数据data 0xAA33&#xff0c;二进制是1010 1010 0011 0011。 Buff[0] 1010 1010 0011 0011 & 1111 1111 0011 0011&#xff0c;十六进制是0x33。 Buff[1] 1010 1010 0011 0011>> 8 &am…

一个数和0xFFFF与运算的意义

记录下今天困扰自己的一个问题&#xff0c;关键还是自己基础不够扎实。 昨天看到一段代码一个数与0xFFFF进行与运算&#xff0c;但是一直没想明白为什么要这么做&#xff0c;粗看上去一个数与0xFFFF运算后不就等于其本身吗&#xff1f;后来经过实验后发现并不是自己预想的样子。…

遇到代码为 4294967295 (0xffffffff)问题解决

突然打开终端遇见这个问题 [已退出进程&#xff0c;代码为 4294967295 (0xffffffff)] 尝试许多晚上的解决方案&#xff0c;在此总结&#xff0c;有的方法应该会帮助一部分人 方法1 管理身份运行终端然后 输入netsh winsock reset 然后重启并未解决 方法二 在终端输入WS…

0xffffffff是多少?

&#xff08;1&#xff09;正数的补码与原码相同&#xff1b;&#xff08;2&#xff09;负数的符号位为1&#xff0c;其余位为该数绝对值的原码按位取反&#xff0c;然后整个数加1&#xff0c;即为其补码。 &#xff08;总的来说&#xff1a;补码原码取反1&#xff0c;只不过…

使用wsimport将wsdl生成java

使用管理员打开cmd wsimport -encoding utf-8 -keep -s D:\temp -p com.lamcy.webService -verbose http://服务地址?wsdl -encoding : 指定编码格式 -keep&#xff1a;是否生成java源文件 -d&#xff1a;指定.class文件的输出目录 -s&#xff1a;指定.java文件的输出目录…

使用wsimport命令将wsdl文件生成服务端以及客户端

使用wsimport命令将wsdl文件生成服务端以及客户端 背景介绍WSDL文件介绍APACHE.CXF介绍soapui介绍自身系统作为客户端流程验证WSDL文件有效命令生成java代码将代码存放到系统指定位置Apache CXF引用代码整合 自身作为webService服务端流程发布webService服务 总结 背景介绍 最…