`
泡沫之夏520
  • 浏览: 20552 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

js 关于 鼠标 在页面中坐标 显示

阅读更多
  1. <html>  
  2. <head>  
  3. </head>    
  4. <body>    
  5. <script type="text/javascript">    
  6. function mouseCoordination(michael){    
  7.     //以下主要是对不同浏览器进行兼容操作   
  8.      if(michael.pageX || michael.pageY){    
  9. //IE不支持pageX之类的 这里主要是对于chrome 和firefox之类的浏览器   
  10.       return {x:michael.pageX, y:michael.pageY};    
  11.       }    
  12.       else return {    
  13. //以下是IE浏览器的操作动作 至于为什么这么写 待会看图就会明白   
  14.        x:michael.clientX + document.body.scrollLeft - document.body.clientLeft,    
  15.        y:michael.clientY + document.body.scrollTop  - document.body.clientTop    
  16.        };    
  17.           
  18. }    
  19.   
  20. function mouseMove(michael){    
  21.    michaelmichael = michael || window.event; //不知为什么 显示出来 就是多了个michael 应该前面变量只有一个michael的   
  22.     var mouseCoo = mouseCoordination(michael);    
  23.     document.getElementById('xCoordination').value = mouseCoo.x;    
  24.     document.getElementById('yCoordination').value = mouseCoo.y;    
  25. }    
  26. document.onmousemove = mouseMove;    
  27. </script>    
  28. X坐标:<input id="xCoordination" type="text" />  Y坐标:<input id="yCoordination" type="text" />    
  29. </body>    
  30. </html>  
<html>
<head>
</head> 
<body> 
<script type="text/javascript"> 
function mouseCoordination(michael){ 
    //以下主要是对不同浏览器进行兼容操作
     if(michael.pageX || michael.pageY){ 
//IE不支持pageX之类的 这里主要是对于chrome 和firefox之类的浏览器
      return {x:michael.pageX, y:michael.pageY}; 
      } 
      else return { 
//以下是IE浏览器的操作动作 至于为什么这么写 待会看图就会明白
       x:michael.clientX + document.body.scrollLeft - document.body.clientLeft, 
       y:michael.clientY + document.body.scrollTop  - document.body.clientTop 
       }; 
	   
} 

function mouseMove(michael){ 
   michael = michael || window.event; //不知为什么 显示出来 就是多了个michael 应该前面变量只有一个michael的
    var mouseCoo = mouseCoordination(michael); 
    document.getElementById('xCoordination').value = mouseCoo.x; 
    document.getElementById('yCoordination').value = mouseCoo.y; 
} 
document.onmousemove = mouseMove; 
</script> 
X坐标:<input id="xCoordination" type="text" />  Y坐标:<input id="yCoordination" type="text" /> 
</body> 
</html>


关于javascript中clientX,pageX,offsetX,x,layerX,screenX,offsetLeft之类的图解说明


对clientX等的文字说明
offsetTop
获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算顶端位置。
offsetLeft
获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。
offsetHeight
获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度。
IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。
NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。
offsetWidth
获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的宽度。
offsetParent
获取定义对象 offsetTop 和 offsetLeft 属性的容器对象的引用。
clientHeight
获取对象的高度,不计算任何边距、边框、滚动条或可能应用到该对象的补白。
大家对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。
clientLeft
获取 offsetLeft 属性和客户区域的实际左边之间的距离。
clientTop
获取 offsetTop 属性和客户区域的实际顶端之间的距离。
clientWidth
获取对象的宽度,不计算任何边距、边框、滚动条或可能应用到该对象的补白。
SCROLL属性
scroll
设置或获取滚动是否关闭。
scrollHeight
获取对象的滚动高度。
scrollLeft
设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。
scrollTop
设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。
scrollWidth
获取对象的滚动宽度。event属性
x
设置或获取鼠标指针位置相对于父文档的 x 像素坐标。
screenX
设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标

W3C关于screen给出的例子

Html代码 复制代码
  1. <html>  
  2. <head>  
  3. <script type="text/javascript">  
  4. function show_coords(event)   
  5.   {   
  6.   x=event.screenX   
  7.   y=event.screenY   
  8.   alert("X coords: " + x + ", Y coords: " + y)   
  9.   }   
  10. </script>  
  11. </head>  
  12. <body onmousedown="show_coords(event)">  
  13.   
  14. <p>Click in the document. An alert box will alert    
  15. the x and y coordinates of the cursor.</p>  
  16.   
  17. </body>  
  18. </html>  
<html>
<head>
<script type="text/javascript">
function show_coords(event)
  {
  x=event.screenX
  y=event.screenY
  alert("X coords: " + x + ", Y coords: " + y)
  }
</script>
</head>
<body onmousedown="show_coords(event)">

<p>Click in the document. An alert box will alert 
the x and y coordinates of the cursor.</p>

</body>
</html>


offsetX
设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标。
clientX
设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条

W3C对于client给出的例子

Html代码 复制代码
  1. <html>  
  2. <head>  
  3. <script type="text/javascript">  
  4. function show_coords(event)   
  5.   {   
  6.   x=event.clientX   
  7.   y=event.clientY   
  8.   alert("X coords: " + x + ", Y coords: " + y)   
  9.   }   
  10. </script>  
  11. </head>  
  12.   
  13. <body onmousedown="show_coords(event)">  
  14.        
  15.     <p>Click in the document. An alert box will alert    
  16. the x and y coordinates of the mouse pointer.</p>  
  17.   
  18. </body>  
  19. </html>  
<html>
<head>
<script type="text/javascript">
function show_coords(event)
  {
  x=event.clientX
  y=event.clientY
  alert("X coords: " + x + ", Y coords: " + y)
  }
</script>
</head>

<body onmousedown="show_coords(event)">
	
	<p>Click in the document. An alert box will alert 
the x and y coordinates of the mouse pointer.</p>

</body>
</html>




我们这里说说四种浏览器对 document.body 的 clientHeight、offsetHeight 和 scrollHeight 的解释,这里说的是 document.body,如果是 HTML 控件,则又有不同,点击这里查看。
这四种浏览器分别为IE(Internet Explorer)、NS(Netscape)、Opera、FF(FireFox)。
clientHeight
大家对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。
offsetHeight
IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。 NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。
scrollHeight
IE、Opera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight。 NS、FF 认为 scrollHeight 是网页内容高度,不过最小值是 clientHeight。 简单地说
clientHeight 就是透过浏览器看内容的这个区域高度。


NS、FF 认为 offsetHeight 和 scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight 时,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight。
IE、Opera 认为 offsetHeight 是可视区域 clientHeight 滚动条加边框。scrollHeight 则是网页内容实际高度。
同理
clientWidth、offsetWidth 和 scrollWidth 的解释与上面相同,只是把高度换成宽度即可。
但是
FF 在不同的 DOCTYPE 中对 clientHeight 的解释不同, xhtml 1 trasitional 中则不是如上解释的。其它浏览器则不存在此问题。

 
pageX/pageY:

鼠标相对于整个页面的X/Y坐标。

IE不支持!

offsetX/offsetY:

得出的结果跟pageX/pageY一样,既然如此,它有什么存在价值?因为:

只有IE支持!相当于IE下的pageX,pageY.

screenX/screenY:

就是鼠标在屏幕上的坐标。screenX,screenY的最大值不会超过你的屏幕分辨率。
clientX/clientY:

事件发生时鼠标在浏览器内容区域的X/Y坐标(不包含滚动条)。浏览器内容区域即浏览器窗口中用来显示网页的可视区域,注意这个可视,也就是说需要拖动滚动条才能看到的区域不算。当你将浏览器窗口缩小时,clientX/clientY的最大值也会缩小,但始终,它们的最大值不会超过你浏览器可视区域。

特别说明:IE下此属性不规范,它们的最小值不是0而是2,也就是说IE下的clientX/clientY与火狐下的始终大2px

分享到:
评论

相关推荐

    跟随鼠标移动十字坐标显示,炫酷

    这个小功能可以在用户鼠标在页面上移动时,实时地显示一个十字架标记,指示出鼠标的当前位置,给人一种酷炫且个性化的视觉效果。 要实现这个功能,我们需要掌握以下几个核心知识点: 1. **JavaScript事件监听**:...

    JavaScript实现鼠标移到地图上显示实际地理坐标

    本教程将深入探讨如何利用SuperMap iClient 6R for JavaScript库来实现一个功能,即当鼠标移动到地图上时,实时显示当前鼠标的地理坐标。SuperMap是一款强大的GIS软件,其iClient系列为开发者提供了丰富的JavaScript...

    显示鼠标坐标信息.rar

    这个名为"显示鼠标坐标信息.rar"的压缩包显然包含了关于如何在网页上实时显示鼠标坐标的示例代码和教程。这个项目可能是一个简单的JavaScript(JS)特效,用于教育开发者如何利用JavaScript监听和处理鼠标移动事件,...

    javascript获取鼠标当前位置坐标并显示

    本文将详细介绍如何使用JavaScript来获取鼠标在页面上的当前位置坐标,并实时显示这些坐标值。该功能主要涉及到以下几个知识点: 1. **事件监听器(Event Listener)**:通过`document.onmousemove`来监听鼠标的...

    随鼠标移动动态显示xy坐标

    - **AJAX**: 异步JavaScript和XML技术,用于在不重新加载整个网页的情况下与服务器交换数据并更新部分网页内容。 - **DOM操作**: 通过修改文档对象模型(Document Object Model)来实现页面元素的动态变化。 ### 2....

    网页实现全屏获取鼠标坐标

    描述中提到"自己制作控件实现网页获取窗体外鼠标坐标",这可能是指在全屏模式下,通过JavaScript或者其他前端技术来监听鼠标移动事件,并计算出即使鼠标离开当前窗口,也能获取到其在屏幕上的绝对位置。"这只是个...

    获取电脑屏幕上鼠标指针的位置坐标

    在标题和描述中提到的"获取电脑屏幕上鼠标指针的位置坐标"是指开发或使用一种工具来实时监测并显示鼠标在屏幕上的X轴和Y轴坐标值。这样的工具对于软件开发者、游戏开发者或者进行自动化测试的人员非常有用,因为他们...

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

    JavaScript获取鼠标坐标是Web开发中的常见需求,尤其在交互式应用和动态效果中扮演着重要角色。本篇文章将详细介绍各种JavaScript方法来获取鼠标位置,并解释它们的用途和差异。 首先,我们可以使用`event`对象来...

    显示鼠标坐标信息 JavaScript代码

    在网页开发中,有时我们需要获取用户的鼠标位置,以便实现各种交互效果,比如跟随鼠标移动的元素、点击位置分析等。JavaScript 提供了这样的能力,让我们能够轻松获取鼠标的坐标信息。本文将详细介绍如何使用 ...

    three.js 3d坐标转平面坐标

    本教程将深入探讨如何在Three.js环境中将3D坐标转换为2D(平面)坐标,以便在网页上的div元素或其他2D元素上正确显示3D对象的一部分或全部。 首先,我们要理解3D坐标系统与2D坐标系统的区别。在3D空间中,每个点都...

    在页面中js获取光标/鼠标的坐标及光标的像素坐标

    1. `event` 对象:在JavaScript中,当发生事件(如鼠标移动)时,会生成一个事件对象,其中包含了关于事件的各种信息,包括鼠标的位置。 2. `clientX` 和 `clientY`:这两个属性分别表示鼠标相对于视口左上角的水平...

    获取鼠标在文档的坐标位置(兼容多浏览器)

    本文将详细介绍如何通过JavaScript获取鼠标在文档中的坐标位置,并确保该方法能在多种主流浏览器中稳定运行。 #### 一、问题背景 当用户与网页进行交互时,如点击鼠标按钮,页面会触发相应的事件。这些事件携带了...

    跟随鼠标移动的十字架坐标.rar

    【标题】"跟随鼠标移动的十字架坐标"指的是一个JavaScript特效,它能够在网页上创建一个十字标记,这个标记会随着用户的鼠标指针在页面上的移动而实时更新位置,显示出鼠标的精确坐标。这个功能通常用于开发地图应用...

    鼠标移动位置数值的实时显示

    在IT领域,尤其是在网页开发和交互设计中,实时显示鼠标移动位置是一项常见的需求。这个功能可以帮助用户更好地理解和操作界面,特别是在需要精确控制元素位置或进行游戏等应用时。标题"鼠标移动位置数值的实时显示...

    js实现网页上dom元素拖动 并实时显示坐标效果.rar

    在本资源"js实现网页上dom元素拖动 并实时显示坐标效果.rar"中,包含了多个关于DOM元素拖动的实例,帮助开发者了解并掌握这一技能。以下是关于这个主题的详细知识: 1. **DOM(Document Object Model)**:DOM是...

    pdfdemo2-master_pdf.js坐标点_加工_pdf关键字坐标获取_

    总的来说,`pdfdemo2-master`项目提供了一个实用的工具,通过PDF.js库实现了在Web环境中获取PDF文档关键字的坐标信息,这在PDF处理、数据分析、信息提取等领域具有广泛的应用价值。开发者可以在此基础上进行扩展,...

    javascript获得鼠标的坐标值

    这里,我们首先通过`getBoundingClientRect()`获取目标元素的大小和位置,然后从鼠标坐标中减去元素的位置,得到相对于元素的坐标。 ### 补充知识点 - `event`对象:在JavaScript事件处理函数中,浏览器自动传递的...

    Cesium 地图显示鼠标经纬度和高度

    在事件处理器中,我们可以调用`viewer.camera.pickEllipsoid()`方法获取鼠标在地图上的位置,再通过`Cesium.Cartographic`对象转换为地理坐标(经度、纬度): ```javascript var handler = new Cesium....

    js鼠标浮动显示div

    在JavaScript(JS)中,"鼠标浮动显示div"是一种常见的交互设计,通常用于创建提示框、下拉菜单或工具提示。这种技术的核心是利用事件监听器来捕捉鼠标的移动,并根据鼠标的移动来控制div元素的显示与隐藏。在本案例...

    js鼠标悬浮显示详细内容

    在网页设计中,"js鼠标悬浮显示详细内容"是一种常见的交互功能,它允许用户将鼠标悬停在某个元素上时,展示与该元素相关的详细信息。这种效果通常用于数据列表、图片缩略图或者菜单项,以提供更多的上下文信息,而...

Global site tag (gtag.js) - Google Analytics