javascript获取鼠标指针在整个页面中的坐标位置

快乐打工仔 分类:实例代码

本章节分享一段代码实例,它实现了能够获取鼠标坐标在整个页面中的坐标。

这个坐标也包括滚动条部分的尺寸,代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.pipipi.net/" />
<title>前端教程网</title>
<style type="text/css">
*{
  margin:0px;
  padding:0px;
}
body{height:1500px;}
#antzone{
  width:200px;
  height:200px;
  background-color:#ccc;
  margin:0px auto;
  position:fixed;
  left:50%;
  top:100px;
  margin-left:-100px;
  text-align:center;
}
#show{
  width:150px;
  margin:0px auto;
}
</style>
<script type="text/javascript">
window.onload=function(){
  var odiv=document.getElementById("antzone");
  function getX(ev) {
    var ev = ev || window.event;
    return ev.pageX || ev.clientX + document.body.scrollLeft;
  }
  function getY(ev) {
    var ev = ev || window.event;
    return ev.pageY || ev.clientY + document.body.scrollTop;
  }
  odiv.onmousemove=function(ev){
    var ev=window.event||ev;
    this.innerHTML="X:"+getX(ev)+" Y:"+getY(ev)+"";
  }
}
</script>
</head>
<body>
<div id="antzone"></div>
</body>
</html>

上面的代码实现了我们的要求,下面介绍一下它的实现过程。

一.代码注释:

(1).window.onload=function(){},当文档内容完全加载完毕再去执行函数中的代码。

(2).var odiv=document.getElementById("antzone"),获取id属性值为antzone的元素对象。

(3).function getX(ev){},此方法可以获取鼠标指针的水平坐标位置,参数是事件对象。

(4).var ev = ev || window.event,兼容所有浏览器的事件对象。

(5).return ev.pageX || ev.clientX + document.body.scrollLeft,如果浏览器支持pageX属性,则直接使用此属性,否则就使用在客户区的坐标再加上向左滚动的尺寸。

二.相关阅读:

(1).var ev = ev || window.event可以参阅var ev=window.event||ev的作用是什么一章节。

(2).clientX属性可以参阅javascript clientX一章节。

(3).scrollLeft属性可以参阅js scrollLeft一章节。

回复

我来回复
  • 暂无回复内容