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

article/2025/10/15 9:15:12

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

属性         说明
clientX    以浏览器左上顶角为原点,定位 x 轴坐标
clientY    以浏览器左上顶角为原点,定位y轴坐标
offsetX    以当前事件的目标对象左上角为原点,定位x轴坐标
offsetY    以当前事件的目标对象左上角为原点,定位y轴坐标
pageX    以Document 对象(即文本窗口)左上角为原点,定位x轴坐标
pageY    以Document 对象(即文本窗口)左上角为原点,定位y轴坐标
screenX    计算机屏幕左上角为原点,定位x轴坐标
screenY    计算机屏幕左上角为原点,定位y轴坐标
layerX    最近的绝对定位的父元素(如果没有,则为Document对象)左上角为原点,定位x轴坐标
layerY    最近的绝对定位的父元素(如果没有,则为Document对象)左上角为原点,定位y轴坐标
 

写了俩文件,放一个文件夹内测试看完就能明白,

layerX_pageX_clientX_screenX_window_document_body.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" style="border:1px solid yellow">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>jquery1rm</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
<!---或者下载到本地引入也可以-->
</head><style>.co{border:10px solid red;padding:10px;background:green; box-sizing:border-box;}.dv{width: 500px;height: 200px;}</style>
<script type="text/javascript">
$(function(){console.log("out##############SSSSS")//document window 是对象,body只是标签所以加引号console.log("$(window).width()",$(window).width())console.log("$(document).width()",$(document).width())console.log("$('body').width()",$('body').width())// 不包括padding,borderconsole.log("$(window).height()",$(window).height())console.log("$(document).height()",$(document).height())console.log("$('body').height()",$("body").height())console.log("out##############EEEEE")});</script>
<body class="co" style="width: 1000px;height: 1000px;"><!--body能规定宽高,但是背景还是全屏的,我曹-->iframe中计算宽高:<br>	<iframe src="layerX_pageX_clientX_screenX_window_document_body_ifram.html" frameborder="0" width="500" height="500"></iframe><div class="dv co"></div></body>	
</html>

layerX_pageX_clientX_screenX_window_document_body_ifram.html :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>jquery1rm</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
<!---或者下载到本地引入也可以-->
</head><body style="background: #ccc;padding:0;margin:0;"><div style="position: relative;width: 300px;height: 300px;background: red; margin-left:50px;"><div style="position: absolute;width: 50px;height: 50px;background: green;top:10px;left: 10px;"></div></div><div style="width: 50px;height: 50px;background:yellow; position: fixed; top:10px;left: 100px;">fixed</div><a href="https://www.cnblogs.com/xiaotaiyang/p/3843073.html" target="_blank">event.pageX</a><img src="event.jpg" alt="" />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br />这里是子窗口<br /><br /><img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F202003%2F26%2F20200326212002_rxlyj.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1642826088&t=be40a3a042b2c165c05ca715b5cade93"  alt="" />
</body>	
<script type="text/javascript">
$(function(){// console.log($(window))// console.log($(document))// console.log($("body"))// console.log($(document).width())// console.log($("body").width())console.log("inner##############SSSSS")//document window 是对象,body只是标签所以加引号console.log("$(window).width()",$(window).width())console.log("$(document).width()",$(document).width())console.log("$('body').width()",$('body').width())// 不包括边距console.log("$(window).height()",$(window).height())console.log("$(document).height()",$(document).height())console.log("$('body').height()",$("body").height())console.log("inner##############EEEEE")console.log($("img").height())});/*$(window).load(function(){console.log($(window).height())console.log($(document).height())console.log($("body").height())console.log($("img").height())
})*/
window.onload = function(){console.log($(window).height())console.log($(document).height())console.log($("body").height())console.log($("img").height())console.log("$(window).width()",$(window).width())}$("body").on("click","div",function(event){event.stopPropagation();console.log("event.screenX:",event.screenX);//相对电脑屏幕console.log("event.clientX:",event.clientX);//鼠标相对浏览器的坐标console.log("event.pageX:",event.pageX);//相对页面右上角console.log("event.offsetX:",event.offsetX);//鼠标相对于“触发事件的元素”的位置console.log("event.screenY:",event.screenY);//鼠标相对整个屏幕的坐标,比如把浏览器缩小,这个坐标就是距离电脑屏幕顶部的距离console.log("event.clientY:",event.clientY);//鼠标相对浏览器的坐标console.log("event.pageY:",event.pageY);console.log("event.offsetY:",event.offsetY);/* 测试以下全 undefiendconsole.log("event.laylerX:",event.laylerX);console.log("event.laylerY:",event.laylerY);console.log("event.x:",event.x);console.log("event.y:",event.y);*/})
</script>
</html>


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

相关文章

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服务 总结 背景介绍 最…

java wsimport方式生成webservice客户端代码

wsimport方法 1.在jdk安装目录bin下wsimport.exe&#xff0c;执行命令(修改红色部分的信息即可) wsimport -keep -d D:\1 -s D:\2 -p com.example.demo.webservice -verbose http://xxxxxxx?wsdl 对应下列命令说明&#xff1a;-keep&#xff1a;是否生成java源文件-d&#x…

wsimport的使用

快速实现一个基于JWS的webservice项目 A.服务器的建立 B.客户端的建立 C.wsimport的使用 D.wsdl的简单讲解 E.soap的使用 F.代码优先还是契约优先 1.使用对应的指令wsimport: wsimport -d F:\2017StudyCode\Tool\webservice -keep -verbose http://localhost:8588/samlai?w…

wsimport命令生成webService java客户端代码

wsimport简介 在JDK的bin文件夹中&#xff0c;有一个wsimport.exe工具&#xff0c;可依据wsdl文件生成相应的类文件&#xff0c;将生存在本地这些类文件拷贝到需要使用的项目中&#xff0c;就可以像调用本地的类一样调用webService提供的方法。该工具可以用于非Java的服务器&a…

wsimport 的使用

wsimport 的使用 用法格式&#xff1a; wismport [options] <WSDL_URL> \其中 [options] 包括&#xff1a; 命令含义-b < path >指定 jaxws/jaxb 绑定文件或附加模式&#xff08;每个 < path > 都必须具有自己的 -b&#xff09;-B< jaxbOption>将此…

wsimport命令生成webservice客户端

一、排除问题 1、今天接到一个任务&#xff0c;我做为客户端&#xff0c;调用服务端接口&#xff0c;通过生成wsdl文件的方式&#xff0c;所以用了wsimport命令&#xff0c;后台提示不支持soap编码 。 2、我看网上说&#xff0c;jdk1.7及以后就不在支持&#xff0c;于是我下…

wsimport生成wsdl代码

wsimport生成wsdl代码 1. webservice接口wsdl生成代码示例2. 打开以上链接&#xff0c;右键查看网页源代码3. 替换复制中的部分内容4. 将以下内容保存为xsd.xjb文件5. 将以下内容保存为jaxp.properties文件6. 在命令行中执行以下命令生成java代码 1. webservice接口wsdl生成代码…

java wsimport 调用_webService----wsimport调用方式

一、工具 1、myEclipse 2、jdk1.7 二、创建服务端 1、创建web Service Project 命名为TheService 2、创建class类ServiceHello.java&#xff0c;位于包com.zyj.service下&#xff0c;并编写供客户端调用的方法&#xff0c;即编译方法代码 3、编译&#xff0c;编译失败时请调整该…