`

event.clientX、clientY、x、y、offsetX、offsetY、screenX、区别

    博客分类:
  • js
 
阅读更多

在Javascript中,坐标的获取让人头晕,下面这段代码较好地演示了上述各个参数的含义:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 坐标位置</TITLE>
<style>
*{
margin:0}
#d1{
position:absolute;
left:50px;
top:50px;
border:1px blue solid;
}

</style>
</HEAD>

<SCRIPT>  
function   dullwolf()   {
if (!document.all)
      var evt=arguments[0];
else
      var evt=event;
p1.innerText=window.event.x;  
p2.innerText=window.event.y;  
p3.innerText=window.event.clientX;  
p4.innerText=window.event.clientY;  
p5.innerText=window.event.offsetX;  
p6.innerText=window.event.offsetY;  
p7.innerText=window.event.screenX;  
p8.innerText=window.event.screenY;  
}  
     
</SCRIPT>    
<body onmousemove="dullwolf();">  
<div id="d1">
event.x=<span   id="p1">   </span>;  
event.y=<span   id="p2">   </span>;  
clientX=<span   id="p3">   </span> ;
clientY=<span   id="p4">   </span> ; <br>
offsetX=<span   id="p5">   </span> ;
offsetY=<span   id="p6">   </span> ;
screenX=<span   id="p7">   </span> ;
screenY=<span   id="p8">   </span>;
<p>test</p>
    <p>test</p>
   <p>test</p>
     <p>test</p>
    <p>test</p>
      <p>test</p>
     <p>test</p>
       <p>test</p>
      <p>test</p>
    <p>test</p>
   <p>test</p>
     <p>test</p>
    <p>test</p>
      <p>test</p>
     <p>test</p>
       <p>test</p>
      <p>test</p>
     </div>
</body>

</HTML>

 

 

clientX与clientY、x与y:鼠标相对于浏览器内容窗口左上角的偏移量。

offsetX与offsetY:在蓝色框内,鼠标相对于蓝色框左上角的偏移量。若移出蓝色框,则是与上面的值接近的数据。(?为什么不是相等?少了2px)。

screenX与screenY:鼠标相对于显示器左上角的偏移量,也许屏幕上同时打开的有其它的应用程序。 

但是x与clientX有何区别?还不清楚。

scrollLeft:当网页宽度超出屏幕宽度,并向右滚动了部分网页时,该值表示网页左边被卷去的宽度。

scrollTop:同上,网页上部被卷去的高度。

所以,若网页有被滚动(有滚动条且进行了滚动),则此时鼠标的坐标应为:

x=event.clientX+document.body.scrollLeft;

y=event.clientY+document.body.scrollTop;


 

  • 大小: 99 KB
分享到:
评论

相关推荐

    [转]分析x,offsetX clientX screenX,pageX,y,offsetY clientY screenY,pageY之间的区别

    在JavaScript中,处理鼠标事件时,经常会遇到一系列与鼠标位置相关的属性,如`x`, `offsetX`, `clientX`, `screenX`, `pageX`, `y`, `offsetY`, `clientY`, `screenY`, `pageY`等。这些属性在不同的上下文下提供了...

    event.X和event.clientX的区别分析

    在处理鼠标事件时,我们常常会遇到`event.X`和`event.clientX`这两个属性,它们都是用来获取鼠标位置的,但有微妙的差别。 `event.clientX`属性返回的是鼠标指针在浏览器的可视窗口(客户区域)内的X坐标,不包括...

    Javascript dom位置、大小、鼠标定位操作

    理解这些属性之间的差异至关重要,例如,`event.clientX` 和 `event.clientY` 是相对于窗口的,而`event.pageX` 和 `event.pageY` 则是相对于整个文档的。`event.offsetX` 和 `event.offsetY` 是相对于元素的可见...

    javascript之Event详解[定义].pdf

    JavaScript之Event详解 Event对象是JavaScript中一个非常重要的概念,它代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。Event对象只在事件发生的过程中才有效。Event的某些属性只对...

    Javascript之event大全

    JavaScript 之 event大全 _event 对象是 JavaScript 中的一个重要概念,它代表事件的状态,例如触发 event 对象的元素、鼠标的位置及状态、按下的键等等。event 对象只在事件发生的过程中才有效。event 的某些属性...

    javascript 事件对象 坐标事件说明

    它们的行为与 IE6/7 类似,其中 `event.x` 和 `event.y` 等同于 `event.clientX` 和 `event.clientY`。 4. **Opera**: - Opera 的坐标属性类似于 IE,但同时也支持 `event.pageX` 和 `event.pageY`。 由于 W3C ...

    鼠标事件clientX、clientY

    clientX、clientY、pageX、pageY、screenX、screenY、offsetX、offsetY

    Javascript获取鼠标坐标的各种类型

    对于鼠标在特定容器内的相对坐标,`event.offsetX`和`event.offsetY`则非常有用,它们返回鼠标相对于事件源元素的左上角的坐标。 当需要考虑整个文档的滚动时,可以通过`document.documentElement.scrollTop`获取...

    显示鼠标坐标信息 JavaScript代码

    - **offsetX/offsetY**:这两个属性返回鼠标相对于元素边框的左上角的水平和垂直距离,如果事件发生在body元素上,则与clientX/clientY相同。 - **pageX/pageY**:这两个属性返回鼠标相对于整个页面(包括滚动条)...

    JavaScript第九天.xmind

    4.offsetX,offsetY(鼠标相对于事件源元素的x,y坐标) 元素的offset属性: 1.offsetTop: 元素相对父元素上边的偏移。(只读) 2.offsetLeft: 元素相对父元素左边的偏移。(只读) 3.offsetWidth: 自身包括padding...

    JavaScript中获取鼠标位置相关属性总结

    1. Firefox不支持`event.offsetX`、`event.offsetY`以及`event.x`和`event.y`,但可以使用`event.layerX`和`event.layerY`作为替代。 2. IE中的`event.x`和`event.y`等效于Firefox和Chrome中的`event.layerX`和`...

    vue实现拖拽效果

    首先要搞明白分清clientY pageY screenY layerY offsetY的区别 作用3(事件对象中记录的鼠标位置) 语法 解释 evt.screenX 相对于屏幕的左上角为原点 evt.screenY evt.clientX 相对于浏览器的客户端左上角为原点...

    Javascript元素位置、大小、鼠标定位操作

    4. x 和 y:一般情况下,这两个属性与 clientX、clientY 相似,但有所不同。 二、DOM 对象 DOM 对象提供了多个属性来获取元素的位置、大小等信息。其中包括: 1. offsetTop 和 offsetLeft:获取元素相对于其 ...

    js Event对象的5种坐标

    在IE中,可以使用x和y属性来达到类似效果,但需要注意的是,如果事件源的父元素设置了`position:relative`等定位属性,x和y可能会返回相对于该父元素的位置。 3. **offsetX 和 offsetY**: 这两个属性表示鼠标相...

    前端vue.js

    - `event.clientX`/`event.clientY`: 事件触发时鼠标相对于浏览器窗口的位置。 - `event.screenX`/`event.screenY`: 事件触发时鼠标相对于屏幕的位置。 - `event.offsetX`/`event.offsetY`: 事件触发时鼠标相对于...

    【JavaScript源代码】JavaScript 鼠标事件(MouseEvent)案例讲解.docx

    - `offsetX`、`offsetY`:这两个属性提供了鼠标相对于事件源元素的位置坐标,即鼠标在元素内的位置。 - `clientX`、`clientY`:这两个属性返回鼠标相对于浏览器视口(不包括滚动条)的水平和垂直坐标。 - `pageX`、`...

    javascript获取网页各种高宽及位置的方法总结.docx

    - **`event.offsetX`** 和 **`event.offsetY`**:分别表示鼠标在触发事件的元素中的水平和垂直位置(相对于元素内容区域的左上角)。 #### 使用场景举例 1. **调整布局**:根据屏幕尺寸或浏览器窗口大小动态调整...

    javascriptEvent对象详解定义.pdf

    4. clientX 属性:返回鼠标在窗口客户区域中的 X 坐标,返回一个数字值,表示鼠标的水平坐标。 5. clientY 属性:返回鼠标在窗口客户区域中的 Y 坐标,返回一个数字值,表示鼠标的垂直坐标。 6. ctrlKey 属性:...

    event对象总结,更详细更全面

    * clientX和clientY:事件发生时鼠标相对于浏览器左上角的X/Y坐标 * screenX和screenY:事件发生时鼠标相对于显示器左上角的X/Y坐标 事件对象的方法 事件对象还拥有一些重要的方法,例如: * stopPropagation():...

    js window.event对象详尽解析

    4. `clientX` 和 `clientY`: 这两个属性分别返回鼠标在浏览器窗口可视区域(不包括滚动条)内的X和Y坐标,是只读属性,用于获取鼠标位置。 5. `ctrlKey`: 类似于`altKey`,`event.ctrlKey`用于检查`Ctrl`键的状态。...

Global site tag (gtag.js) - Google Analytics