`

js 页面中 坐标,位置

阅读更多

 

<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>
<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>
<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

 

 

转:http://www.iteye.com/topic/775445

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    js获取页面控件坐标.pdf

    JS 获取页面控件坐标 在 HTML 文档中,获取页面控件坐标是非常重要的,特别是在进行交互式开发时。今天,我们将讨论如何使用 JavaScript 获取页面控件坐标。 在 HTML 文档中,每个元素都有其自己的坐标系,通过...

    js地理坐标与屏幕坐标互转换

    在ArcGIS JavaScript API中,地理坐标与屏幕坐标的相互转换是一项重要的功能,它允许开发者将地图上的地理位置(经纬度)转换为用户界面中的像素位置,反之亦然。这对于实现地图交互、绘制图形以及进行空间分析等...

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

    当我们需要对PDF中的特定关键字进行操作,比如查找、高亮或替换时,了解关键字的坐标位置至关重要。`pdfdemo2-master_pdf.js坐标点_加工_pdf关键字坐标获取_`这个项目就是针对这一需求而设计的,它利用了PDF.js库来...

    JS页面控件位置移动保存坐标

    根据提供的文件信息,可以看出这是一段混合了ASP.NET与JavaScript代码的网页,主要实现了通过JavaScript控制页面中的元素(如图片或其他控件)进行位置移动,并将移动后的坐标位置保存到Cookies中的功能。...

    JavaScript获取对象在页面中位置坐标的方法

    在JavaScript中,获取页面元素的位置坐标是Web开发中常见的需求,这主要涉及到DOM(文档对象模型)的操作。本文将详细讲解如何使用JavaScript的内置属性和方法来获取对象在页面中的位置坐标。 首先,我们需要理解两...

    jQuery 获得控件的坐标位置

    在网页开发过程中,经常需要获取页面元素的坐标位置,以便实现特定的功能,如弹窗定位、元素拖拽等。jQuery 提供了一系列方法来方便地获取这些坐标值。本文将详细介绍如何使用 jQuery 来获取元素相对于窗口以及滚动...

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

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

    Vue+Element+Javascript完成坐标转化

    在本项目中,“Vue+Element+Javascript完成坐标转化”是一个基于Vue.js、Element UI和JavaScript技术实现的应用,主要目标是处理地图上的坐标转换问题。Vue.js是一个轻量级的前端框架,提供组件化的开发方式,使得...

    百度、高德、谷歌、火星、wgs84(2000)地图坐标相互转换纠偏的JS实现

    3. **JS实现**:JavaScript是Web前端的主要编程语言,实现地图坐标转换意味着可以在浏览器端直接进行计算,无需服务器端支持,提高了应用的响应速度和用户体验。 4. **shujvpianyi.js**:这个文件很可能是实现上述...

    javascript获得对象的坐标

    根据给定文件的信息,本文将深入探讨如何使用JavaScript获取页面元素的坐标位置。这是一项非常实用的技术,在网页开发中有着广泛的应用场景,比如在实现拖拽功能、元素定位或者响应式设计时,都需要准确地知道元素的...

    js腾讯地图api获取坐标定位地理位置_soso地图api获取坐标

    总的来说,通过JavaScript调用腾讯地图API,开发者可以轻松地在网页中实现地图功能,包括获取用户的位置坐标,从而为用户提供个性化的地理位置服务。同时,合理使用地图API,可以提高应用的用户体验和功能性。在实际...

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

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

    js实现获取div坐标的方法

    在本文中,我们将深入探讨如何使用JavaScript来获取页面中div元素的坐标。这是一项基础且实用的技术,在Web开发中经常会用到,尤其是在进行DOM操作、实现自定义的交互效果或开发动画时,获取元素的位置信息是必不可...

    JS方式获取数据库坐标数据并动态显示到页面上,外加安卓端GPS数据上传相应的后台代码

    本工程包含两部分,前台的jsp页面内容是获取数据库内的坐标数据并显示到前台,每两点之间绘制直线,页面加载1分钟后开始每隔10秒扫描一次数据库,如果有新的坐标数据,则动态显示到页面上。后台内容则是安卓端获取...

    JS中坐标表示方法的异同

    ### JS中坐标表示方法的异同 #### 一、引言 JavaScript作为一种广泛使用的脚本语言,在Web开发中扮演着重要角色。对于前端开发者来说,理解鼠标事件中的坐标系统至关重要,因为这直接影响到用户交互的设计与实现。...

    Proj4js一个JavaScript库用于将点坐标从一个坐标系转换到另一个坐标系包括基准变换

    **Proj4js库详解:JavaScript中的坐标转换利器** Proj4js是一个开源的JavaScript库,它的主要功能是实现地理坐标系之间的转换。在GIS(地理信息系统)领域,不同的地图数据可能基于不同的坐标系统,例如WGS84、UTM...

    js获取div的位置坐标

    在前端开发中,经常需要获取页面上某个元素(如 div)的位置坐标。这有助于实现诸如弹窗定位、元素拖拽等功能,提升用户体验。本文将详细介绍如何使用 JavaScript 来获取 div 元素的位置坐标。 #### 二、基础知识 ...

    JS获取鼠标坐标位置实例分析

    本文实例分析了JS获取鼠标坐标位置的方法。分享给大家供大家参考,具体如下: 取鼠标坐标位置有这些:鼠标在视口的坐标位置(clientX,clientY),鼠标在页面的坐标位置(pageX,pageY),鼠标在屏幕的坐标位置(screenX,...

    c# asp.net 控制控件的坐标位置,更改控件坐标,后台改变前台CSS样式,top,left

    在Web开发中,我们经常需要控制页面上的控件布局,包括调整其在页面上的坐标位置以及更改前端CSS样式来达到理想的视觉效果。本篇文章将深入探讨如何在C#后台代码中实现这些功能。 首先,对于控件的坐标位置,ASP...

Global site tag (gtag.js) - Google Analytics