- 浏览: 23867 次
- 性别:
- 来自: 杭州
最近访客 更多访客>>
最新评论
-
suiye007:
其实重点就是那张图啊!
js 关于鼠标在页面中坐标显示的种种 -
webee:
看的眼花啊!实际只要知道这些属性就可以了,用的时候测试一两次就 ...
js 关于鼠标在页面中坐标显示的种种 -
hduyou:
libmw 写道很好,搜藏了恩 欢迎共享
js 关于鼠标在页面中坐标显示的种种 -
ksqqxq:
ranbo 写道还有第三种
if(){
}else if(){ ...
js 两种方式进行字符匹配 -
libmw:
很好,搜藏了
js 关于鼠标在页面中坐标显示的种种
首先先看一段代码
关于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给出的例子
offsetX
设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标。
clientX
设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条
W3C对于client给出的例子
我们这里说说四种浏览器对 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
恩 欢迎共享
<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
评论
4 楼
suiye007
2010-10-08
其实重点就是那张图啊!
3 楼
webee
2010-10-08
看的眼花啊!实际只要知道这些属性就可以了,用的时候测试一两次就明白了!
2 楼
hduyou
2010-09-30
libmw 写道
很好,搜藏了
恩 欢迎共享
1 楼
libmw
2010-09-30
很好,搜藏了
发表评论
-
屏蔽表单修改
2010-11-17 14:22 6701 通过js实现-onfocus="this.blu ... -
css 分页效果
2010-11-16 14:47 828http://www.jscode.cn/jave_page/ ... -
全景展示
2010-11-15 12:29 748http://slide.mil.news.sina.com. ... -
js 动画
2010-11-11 18:04 771http://mojo-js.appspot.com/cont ... -
css+java 侧面导航栏
2010-10-25 17:11 1717<!DOCTYPE html PUBLIC &quo ... -
js 牛人的博客 学习的好地方
2010-09-27 23:35 637http://www.cnblogs.com/cloudgam ... -
js 图片切换效果
2010-09-27 23:33 841//代码一 <!DOCTYPE html PUBL ... -
js 几款图片切换 特效
2010-09-27 23:23 1140<!DOCTYPE html PUBLIC '- ... -
js 107个常用javascript语句
2010-09-27 08:13 6561. document.write( " &qu ... -
js 判断浏览器类型以及操作系统
2010-09-26 23:51 1065var sUserAgent = navigator.us ... -
js 一些正则表达式(转载)
2010-09-26 23:39 759//1 参考网址 :http://sharejs.co ... -
js 自定范围产生随机数字
2010-09-26 23:36 877function selectFrom(iFirstV ... -
js 两种方式进行字符匹配
2010-09-26 23:32 953第一种方式 replace Function.prot ... -
js 简单代码 有个疑问 请高手解答
2010-09-25 23:45 759var aNumbers=new Array(); va ... -
js 杨辉三角
2010-09-25 22:20 1380function Combination(m,n){ ... -
js 减少全局变量污染的方法
2010-09-24 19:03 1209//最小化使用全局变量的一个方法是在你的应用中只创建唯一一 ... -
js replace使用
2010-09-24 16:42 871Function.prototype.method=fun ... -
js 方法扩展
2010-09-24 16:06 684//Object.prototype是可以扩充的,同样Ar ... -
js 判断数组以及数字
2010-09-24 14:26 1956判断数组 var a=['you','love','fan ... -
js学习 伪类及原型
2010-09-24 00:54 750构造伪类来继承Mammal,通过定义它的constructor ...
相关推荐
这个小功能可以在用户鼠标在页面上移动时,实时地显示一个十字架标记,指示出鼠标的当前位置,给人一种酷炫且个性化的视觉效果。 要实现这个功能,我们需要掌握以下几个核心知识点: 1. **JavaScript事件监听**:...
本教程将深入探讨如何利用SuperMap iClient 6R for JavaScript库来实现一个功能,即当鼠标移动到地图上时,实时显示当前鼠标的地理坐标。SuperMap是一款强大的GIS软件,其iClient系列为开发者提供了丰富的JavaScript...
这个名为"显示鼠标坐标信息.rar"的压缩包显然包含了关于如何在网页上实时显示鼠标坐标的示例代码和教程。这个项目可能是一个简单的JavaScript(JS)特效,用于教育开发者如何利用JavaScript监听和处理鼠标移动事件,...
当你需要在用户点击图表时显示鼠标位置对应的坐标轴值时,这是一个非常实用的功能,尤其对于数据分析和可视化至关重要。这个"qcustomplot鼠标点击后在坐标轴显示值"的主题就是关于如何实现这个功能的探讨。 首先,...
本文将详细介绍如何使用JavaScript来获取鼠标在页面上的当前位置坐标,并实时显示这些坐标值。该功能主要涉及到以下几个知识点: 1. **事件监听器(Event Listener)**:通过`document.onmousemove`来监听鼠标的...
在本文中,我们将深入探讨如何使用Qt5框架创建一个具有波形显示、可缩放以及鼠标坐标显示功能的图表应用。Qt5是一个流行的跨平台应用程序开发框架,它提供了丰富的图形用户界面(GUI)组件和工具,使开发者能够构建...
在探讨“鼠标位置 鼠标在屏幕的位置 坐标”这一主题时,我们深入研究如何在程序设计中获取并应用鼠标在屏幕上的位置坐标。这个知识点在游戏开发、图形用户界面(GUI)设计、自动化脚本以及任何需要与用户输入交互的...
- **AJAX**: 异步JavaScript和XML技术,用于在不重新加载整个网页的情况下与服务器交换数据并更新部分网页内容。 - **DOM操作**: 通过修改文档对象模型(Document Object Model)来实现页面元素的动态变化。 ### 2....
本篇文章将深入探讨“状态条中显示鼠标的设备坐标与逻辑坐标”的概念及其在VC矢量绘图中的应用。 首先,我们要明确什么是设备坐标和逻辑坐标。设备坐标是以像素为单位的坐标系统,直接对应于显示器的物理像素。当你...
在编程领域,尤其是在图形用户界面(GUI)的开发中,创建自定义的坐标系并实时显示鼠标的位置是一项常见的需求。这个程序可能应用于教学、数据分析、绘图软件等场景,允许用户直观地了解鼠标的坐标值。下面将详细...
### PyQt6鼠标标点示例程序 QLabel图片上获取鼠标坐标并显示红点 本代码是使用PyQt6实现的图片上鼠标标点示例。用户可以通过鼠标点击在图片上标注点,并实时获取标注点的坐标。 ## 主要功能 1. **图片标注:** ...
在计算机图形用户界面中,鼠标是用户与操作系统交互的重要工具,而“鼠标移动显示坐标点”这一功能则是开发者为了提供更精确的操作反馈所设计的一种机制。这个功能通常出现在图形编辑软件、游戏开发环境或者编程环境...
在C# Winform应用程序中,实现鼠标坐标的动态显示,我们可以利用Timer控件来定期获取鼠标的位置信息,并将其更新到界面上。Timer插件在Windows Forms应用程序中是一种非常实用的工具,它可以在指定的时间间隔内触发...
本文将深入探讨如何利用消息机制来截获鼠标消息,并实时显示鼠标在屏幕上的坐标。这是一项实用的技术,可以帮助开发者更好地理解和调试与鼠标交互相关的应用程序。 首先,我们需要了解Windows的消息系统。在Windows...
在本文中,我们将深入探讨如何使用VC++和MFC(Microsoft Foundation Classes)开发一个能够查看鼠标在图像上选点坐标的程序。这个程序的核心功能是显示图像,并实时更新鼠标光标所在位置的图像坐标,这对于图像处理...
本教程将详细介绍如何在OpenGL窗口中捕捉鼠标位置并显示坐标。 首先,你需要在VC++环境中创建一个OpenGL上下文。这通常通过MFC(Microsoft Foundation Classes)或Win32 API完成。创建一个带有OpenGL渲染区的窗口,...
在MFC(Microsoft Foundation Classes)项目中,使用PCL(Point Cloud Library)库来处理点云数据并实现在用户点击鼠标时显示所选点在点云中的坐标,是一项常见的需求。PCL是一个开源的C++库,专门用于处理3D点云...
获取鼠标在屏幕中的坐标,实时更新坐标位置,例如:鼠标放置在屏幕中任意位置,等待1s钟,可显示鼠标在屏幕中的坐标
在VB6.0编程环境中,有时我们需要实现一些高级交互功能,比如显示窗体在屏幕上的具体位置、获取鼠标在窗体上的实时坐标,以及实现无标题栏但仍然可移动的窗体。这些功能在开发用户界面时能提供更好的用户体验。下面...
标题“VB得到窗体内鼠标的坐标,实时显示在标题栏.rar”揭示了一个VB(Visual Basic)编程的主题,涉及如何获取鼠标在窗口内的位置,并将这些坐标实时更新到窗口的标题栏上。这是一个基础的用户界面交互功能,对于...