阅读 86

screenx影厅好吗,pagex和clientx

首先,需要知道clientX、clientY、screenX、screenY、offsetX、offsetY是鼠标事件对象下的几个属性。

以前也对这些属性很模糊,但是看了文档也不太理解。 总之,我看完了雾里,自己测试了一下; 说自己的理解; “clientX”、“clientY”、“screenX”、“screenY”、“offsetX”、“offsetY”这些属性是“鼠标事件对象”下的属性,必然在“鼠标事件”发生时有意义;

clientX :鼠标事件发生时(onclick、omousemove、onmouseover等)鼠标相对于浏览器(在此为浏览器的有效区域)的x轴位置clientY (鼠标事件发生鼠标相对于浏览器(这里是浏览器的有效区域)的y轴的位置screenX :鼠标事件发生时鼠标相对于显示器画面的x轴的位置screenY :鼠标事件发生时鼠标相对于显示器画面的y轴的位置oox 鼠标相对于事件源x轴的位置offsetY :发生鼠标事件时鼠标相对于事件源y轴的位置

下面我将结合我的测试代码和结果对上面的话进行解释

这是我写的测试示例的html代码

body span style=' white-space : pre '/span divid=' div ' class=' container '/div span style=' white-space 3360 pre div span style=' white-space 3360 pre '/span input type=' button ' value=' tton ' t alue-/body

添加一点风格

style *{padding: 0; 边距: 0; } .container{ width: 200px; height: 100px; border: 1px solid #c00; } input [ type=' button ' ] { margin :50 px; border: none; width: 100px; height: 50px; background: green; (}/style

下面是js部分的代码

script document.onmousemove=function (ev ) { var e=ev || window.event; var div=document.getelementbyid (div ); div.innerhtml=' clientx : ' e.clientx ',clienty : ' e.clienty '/br screenx 3360 ' e.screenx ',screeny 33666660 var div1=document.getelementbyid (div1); div1. innerhtml=' offsetx : ' e.offsetx ',offsetY : ' e.offsetY; (//脚本

这里,我需要说明一下上述“浏览器的有效区域”一词。 下图中的黑色边界区域为浏览器的有效区域,显示整个图像的区域为“显示画面区域”

下图显示当鼠标移动事件onmousemove发生时,id在div中显示clientX、clientY、screenX、screenY的值。

如果将鼠标悬停在浏览器有效区域的0,0上,则clientX为0,clientY为0。

另一方面,screenX是0,screenY是85。 这是因为“浏览器有效区域”中的鼠标x坐标为0,y坐标也为0,“显示器屏幕区域”中的鼠标x坐标为0,y坐标为85px

当鼠标移动到div的右上角时,clientX为200,clientY为0;

从screenX为200,screenY为85可以看出

clientX是鼠标相对于浏览器有效区域的x轴坐标。

clientY是鼠标相对于浏览器有效区域的y轴坐标。

在上图中,浏览器有效区域中的鼠标的x坐标为200px,y坐标为0,而screenX、screenY相对来说是整个显示画面区域。

在上图中,“针对整个屏幕”鼠标的x坐标为200px,y坐标为85px,因此screenX和screenY获得了这两个值,因此screenX为200px,screenY为85px

当我的鼠标移动到div的右下角时,screeX为200px,screenY为185px。 div本身的宽度在我定义的时候是200px,高度是100px。

接下来说一说offsetX和offsetY属性

offsetX :发生鼠标事件时,鼠标相对于事件源x轴的位置

offsetY :发生鼠标事件时,鼠标相对于事件源y轴的位置

当我们单击test按钮时触发onclick事件。 这里,名为test的按钮是事件源,因此通过offsetX和offsetY获取的坐标值相对于名为test按钮的事件源。

Test按钮本身宽100px高50px; 为了简单起见,我特意在按钮上添加了margin:50px,让大家都能清楚地看到效果;

第一个鼠标在靠近test按钮的左上角单击

看这里,就知道offsetX和offsetY取得了什么样的值了吧。 获取的是名为test的按钮的鼠标的x和y坐标


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐