转自:http://www.cnblogs.com/yehuabin/archive/2013/03/07/2946004.html
screenX clientX pageX概念
screenX:鼠标位置相对于用户屏幕水平偏移量,而screenY也就是垂直方向的,此时的参照点也就是原点是屏幕的左上角。
clientX:跟screenX相比就是将参照点改成了浏览器内容区域的左上角,该参照点会随之滚动条的移动而移动。
pageX:参照点也是浏览器内容区域的左上角,但它不会随着滚动条而变动
如图(红点就是鼠标当前位置)
参考代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <style> body { margin: 0; padding: 0; } .div { text-align: center; font-size: 24px; height: 300px; width: 1300px; line-height: 300px; color: yellow; } #d1 { background-color: red; } #d2 { background-color: green; } #d3 { background-color: blue; } #d4 { position: absolute; background-color: yellow; height: 150px; width: 120px; top: 0; } </style> <script type="text/javascript"> $(function () { window.onscroll = function () { $("#d4").css("top", getScrollTop()); }; document.onmousemove = function (e) { if (e == null) { e = window.event; } var html = "screenX:" + e.screenX + "<br/>"; html += "screenY:" + e.screenY + "<br/><br/>"; html += "clientX:" + e.clientX + "<br/>"; html += "clientY:" + e.clientY + "<br/><br/>"; if (e.pageX == null) { html += "pageX:" + e.x + "<br/>"; html += "pageY:" + e.y + "<br/>"; } else { html += "pageX:" + e.pageX + "<br/>"; html += "pageY:" + e.pageY + "<br/>"; } $("#d4").html(html); }; }); function getScrollTop() { var top = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop; return top; } </script> </head> <body> <div id="d1" class="div">div1 height:300px width:1300px</div> <div id="d2" class="div">div2 height:300px width:1300px</div> <div id="d3" class="div">div3 height:300px width:1300px</div> <div id="d4"></div> </body> </html>
补充:
网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth
相关推荐
`clientX`, `pageX`, `offsetX`, `x`, `layerX`, `screenX`, 和 `offsetLeft` 是JavaScript中用于描述鼠标位置和元素相对位置的一系列属性。下面我们将详细分析这些属性的区别和应用场景。 1. **screenX**: 这个...
在JavaScript中,处理鼠标事件时,经常会遇到一系列与鼠标位置相关的属性,如`x`, `offsetX`, `clientX`, `screenX`, `pageX`, `y`, `offsetY`, `clientY`, `screenY`, `pageY`等。这些属性在不同的上下文下提供了...
clientX、clientY、pageX、pageY、screenX、screenY、offsetX、offsetY
本文将详细介绍`clientX`、`screenX`、`pageX`、`offsetX`等坐标系统的概念及其差异,并通过实例来帮助理解这些概念。 #### 二、`pageX`与`pageY` **定义:** `pageX`与`pageY`表示鼠标相对于整个文档的X轴和Y轴的...
取鼠标坐标位置有这些:鼠标在视口的坐标位置(clientX,clientY),鼠标在页面的坐标位置(pageX,pageY),鼠标在屏幕的坐标位置(screenX,screenY),其中鼠标在视口的坐标位置(clientX,clientY),以及鼠标在屏幕的坐标位置...
document.createTouch(view, target, identifier, screenX, screenY, clientX, clientY, pageX, pageY, radiusX, radiusY, rotationAngle, force) ``` 参数解释如下: 1. `view`:通常为`window`对象,表示触控...
2.pageX,pageY(对于整个页面来说,包括被卷去的body部分的长度) 3.screenX,screenY(点击位置距离当前电脑屏幕的x,y坐标) 4.offsetX,offsetY(鼠标相对于事件源元素的x,y坐标) 元素的offset属性: 1....
首先,我们要了解在JavaScript事件处理中,event对象提供了几个与鼠标位置相关的属性,它们分别是clientX、offsetX、screenX和pageX。这些属性在处理拖拽操作时起着至关重要的作用: 1. clientX:表示鼠标相对于...
回调函数的参数回调函数里面的参数event包含4个属性:pagex,pageY,clientX,clientY,screenX,screenY,direction,displacementX,displacementY.screenX事件发生时手指触摸位置距离屏幕左上角的X方向(水平)距离.screenY...
首先要搞明白分清clientY pageY screenY layerY offsetY的区别 作用3(事件对象中记录的鼠标位置) 语法 解释 evt.screenX 相对于屏幕的左上角为原点 evt.screenY evt.clientX 相对于浏览器的客户端左上角为原点...
Swiper-master是纯...重要属性如下:clientX,clientY:触摸点相对于浏览器窗口viewport的位置;pageX,pageY: 触摸点相对于页面的位置;screenX,screenY:触摸点相对于屏幕的位置 ;identifier:touch对象的unique ID
通过clientX和clientY属性获取客户区坐标,通过pageX和pageY属性获取页面坐标,以及通过screenX和screenY属性获取屏幕坐标。这些技术点在动态交互的Web页面设计中非常实用,可以广泛应用于拖拽操作、绘图应用、鼠标...
- 当处理滚动时,`pageX`和`pageY`会考虑页面的滚动位置,而`clientX`和`clientY`则不会。 - 在移动设备上,由于触摸操作,可能需要监听`touchmove`事件而非`mousemove`。 5. **示例代码** 下面是将鼠标坐标显示...
以百度的登录窗口为例,学习鼠标拖拽效果...2.clientX:跟screenX相比就是将参照点改成了浏览器内容区域的左上角,该参照点会随之滚动条的移动而移动。 3.pageX:参照点也是浏览器内容区域的左上角,但它不会随着滚动条
pageX = event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft); } if (pageY === undefined) { pageY = event.clientY + (document.body.scrollTop || document.documentElement...
理解这些属性之间的差异至关重要,例如,`event.clientX` 和 `event.clientY` 是相对于窗口的,而`event.pageX` 和 `event.pageY` 则是相对于整个文档的。`event.offsetX` 和 `event.offsetY` 是相对于元素的可见...
为了获得更准确的结果,可以使用`pageX`和`pageY`,它们包含了滚动条的偏移,但不考虑页面缩放。如果需要考虑页面缩放,可以使用`screenX`和`screenY`,它们提供了屏幕坐标,但可能过于绝对。 4. **优化性能:** ...
pageX = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; pageY = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; } ``` 此外,还要考虑到...