event对应的各种坐标

IE8不支持的PageXY   相对于整个页面鼠标的位置 包括溢出的部分

event.pageX;

event.pageY;

所有浏览器支持的: 相对于当前浏览器窗口可视区域的坐标
event.clientX;
event.clientY;

相对于当前屏幕(和浏览器窗口大小无关)的坐标
event.screenX;
event.screenY;

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script>
        window.onload = function(){

            document.onmousemove = function(event){

                var event = event||window.event;
                var oDiv = document.getElementById("div1");
                function byName(name){
                    return document.getElementsByName(name)[0]
                }

                byName("pageX").value = event.pageX;
                byName("pageY").value = event.pageY;
                byName("clientX").value = event.clientX;
                byName("clientY").value = event.clientY;
                byName("screenX").value = event.screenX;
                byName("screenY").value = event.screenY;
                byName("scrollLeft").value = document.body.scrollLeft||document.documentElement.scrollLeft;
                byName("scrollTop").value = document.body.scrollTop||document.documentElement.scrollTop;
                //为了兼容IE8 所以才用下面的方法
                oDiv.style.top =event.clientY+(document.body.scrollTop||document.documentElement.scrollTop)+"px";
                oDiv.style.left =event.clientX+(document.body.scrollLeft||document.documentElement.scrollLeft)+"px";
                //oDiv.style.top =event.pageY+"px";
                //oDiv.style.left = event.pageX+"px";

            }

        }
    </script>

</head>
<body style=" height: 2000px;">

<div style="position:fixed;top:0;left:0;">pageX:<input type="text" name="pageX" />相对页面IE8以及更早版本不支持<br>
pageY:<input type="text" name="pageY" /><br>
clientX:<input type="text" name="clientX" />相对于网页的可视区域<br>
clientY:<input type="text" name="clientY" /><br>
screenX:<input type="text" name="screenX" />相对于屏幕,和浏览器窗口大小无关!<br>
screenY:<input type="text" name="screenY" /><br>
scrollTop:<input type="text" name="scrollTop" /><br>
scrollLef:<input type="text" name="scrollLeft" /><br>
</div>

<div id="div1" style="position:absolute; left:0;top:0; width:100px; height:100px; background:red;">1</div>
</body>
</html>
时间: 2024-10-29 19:08:37

event对应的各种坐标的相关文章

ugui Event.current.mousePosition获取的坐标原点在左上角

脚本里使用OnGUI(),在鼠标按下时出发EventType.MouseDown事件,此时如果观察Event.current.mousePosition的坐标原点时左上角,即鼠标按下的点越靠近左上角,Event.current.mousePosition就越接近(0,0): 而ugui的 canvas内的坐标系是以左下角为原点的,这样当两种坐标在一起使用时就需要把其中一个坐标用屏幕的高度Scree.height减去y才行.

JS事件(四)坐标位置

1.客户区坐标位置  (相对于客户端视口,而无关浏览器缩放) clientX与clientY:表示事件发生时鼠标在视口的坐标,不包括页面滚动距离,因此不代表鼠标在页面上的位置. 2.页面坐标位置 pageX与pageY:包括页面滚动距离,代表鼠标在页面上的位置. 无滚动时,clientX==pageX,clientY==pageY 3.屏幕坐标位置 screenX与screenY:鼠标指针相对于整个屏幕的坐标位置 var div=document.getElementById("div"

12-js校验form表单和event对象学习

js校验form表单: <html> <head> <title><html> <head> <title>js校验form表单</title> <meta charset="UTF-8"/> <!--声明css代码域--> <style type="text/css"> /*设置背景图片*/ body{ background-image: url

C#学习日记24----事件(event)

事件为类和类的实例提供了向外界发送通知的能力,实现了对象与对象之间的通信,如果定义了一个事件成员,表示该类型具有 1.能够在事件中注册方法 (+=操作符实现). 2.能够在事件中注销方法(-=操作符实现). 3.当事件被触发时注册的方法会被通知(事件内部维护了一个注册方法列表).委托(Delegate)是事件(event)的载体,要定义事件就的要有委托.  有关委托的内容请点击 委托(De... www.mafengwo.cn/event/event.php?iid=4971258www.maf

分分钟学会JavaScript原生

JavaScript是一种基于对象和事件驱动的客户端脚本语言 组成: ECMAScript---------------标准语法 Bom(browser Object Model) Dom(document)-------浏览器提供的扩充 API : application programming interface 应用程序接口 js引入,内部和外部,最好都放到body里的</body>标签前; 外部:<script src="" > </script&

使用jquery实现简单的拖动效果,分享源码

因为想实现相框的拖到,找了半天的原因愣是没有找到错误,所以,只能翻看源码了 如何实现拖动效果? 浏览DEMO 首先分析下拖动效果原理: 1.当鼠标在被拖动对象上按下鼠标(触发onmousedown事件,且鼠标在对象上方) 2.开始移动鼠标(触发onmousemove事件) 3.移动时更显对象的top和left值 4.鼠标放开停止拖动(触发onmouseup事件) 注意:拖动的对象必须是定位对象(即设置了position:absolute或 relative). 也就是说拖动事件=onmoused

jq获取鼠标位置

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="../js/jquery.min.js"></script> <script type=

JS高级程序设置笔记(五)

13章:事件 JavaScript与Html之间的交互,是通过事件实现的.可以使用侦听器(或者处理程序)来预定事件. 13.1事件流: 什么是事件流:事件流描述的是从页面中接收事件的顺序. 13.1.1事件冒泡 什么是事件冒泡:可以用一个形象的比喻来描述.小鱼吐泡泡,小鱼在水里,泡泡会从水的最底部一直到水面上结束.事件冒泡和这个意思相近,IE的事件流叫做事件冒泡,是从最具体的元素开始,一直延伸到最顶层的那个结构.意思就是说,比如你创建了一个鼠标点击事件,当你点击这个元素的时候,浏览器会认为你点击

(转载)简易的可拖动的桌面悬浮窗效果

本文转载自:http://www.cnblogs.com/xqxacm/p/4918470.html 首先,我们需要知道,悬浮窗分为两种:Activity级别的悬浮窗,系统级别的悬浮窗 Activity级别的悬浮窗跟随所属Activity的生命周期而变化,而系统级别的悬浮窗则可以脱离Activity而存在. 由此可知,要实现360手机卫士那样的悬浮窗效果,就需要使用系统级别的悬浮窗 下面学习实现桌面悬浮窗效果的代码步骤: 1.配置清单文件AndroidManifest.xml 中 添加系统悬浮窗