JavaScript获得鼠标绝对位置

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>

<body onmouseMove="getXY(event)">
<script language="JavaScript">
<!--
function mouseX(evt) {
if (evt.pageX) return evt.pageX;
else if (evt.clientX)
   return evt.clientX + (document.documentElement.scrollLeft ?
   document.documentElement.scrollLeft :
   document.body.scrollLeft);
else return null;
}
function mouseY(evt) {
if (evt.pageY) return evt.pageY;
else if (evt.clientY)
   return evt.clientY + (document.documentElement.scrollTop ?
   document.documentElement.scrollTop :
   document.body.scrollTop);
else return null;
}

function getXY(event)
{
    var e = event || window.event;
    var x = mouseX(e);
    var y = mouseY(e);
    document.getElementById("XY").innerHTML = "X:" + x + "<br />Y:" + y;
}


function getX(elementID)
{
        var el = elementID
        return el.offsetLeft
   
}
   
function getY(elementID)
{
        var el = elementID
        return el.offsetTop
   
}

function getElementPositionX(elemID)
{
   var offsetTrail = document.getElementById(elemID);
   var offsetLeft = 0;

   while(offsetTrail)
   {
      offsetLeft += offsetTrail.offsetLeft;
      offsetTrail = offsetTrail.offsetParent;
   }

    if (navigator.userAgent.indexOf("Mac") != -1 &&
        typeof(document.body.leftMargin) != "undefined") {
        offsetLeft += document.body.leftMargin;
    }
   
    return offsetLeft;
}

function getElementPositionY(elemID)
{
   var offsetTrail = document.getElementById(elemID);
   var offsetTop = 0;

   while(offsetTrail)
   {
      offsetTop += offsetTrail.offsetTop;
      offsetTrail = offsetTrail.offsetParent;
   }

    if (navigator.userAgent.indexOf("Mac") != -1 &&
        typeof(document.body.leftMargin) != "undefined") {
        offsetTop += document.body.topMargin;
    }
    return offsetTop;
}
function getElementPositionXY(elemID)
{
   var offsetTrail = elemID;
   var offsetLeft = 24;
   var offsetTop =0;

   while(offsetTrail)
   {
      offsetLeft += offsetTrail.offsetLeft;
      offsetTop += offsetTrail.offsetTop;
      offsetTrail = offsetTrail.offsetParent;
   }

    if (navigator.userAgent.indexOf("Mac") != -1 &&
        typeof(document.body.leftMargin) != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetLeft += document.body.leftMargin;
    }
   document.getElementById("txt_left").innerText = offsetLeft;
   document.getElementById("txt_top").innerText = offsetTop;
    document.getElementById("divMsg").style.top = offsetTop + "px";
}

//-->
</script>
鼠标的绝对位置:<br />
<span id="XY" style="color:red;"></span><br /><br />
控件输入框txtPos的绝对位置:<br />
X:<span id="txt_left" style="color:red;"></span><br />
Y:<span id="txt_top" style="color:red;"></span><br />
<input type="text" name="txtPos" id="txtPos" οnfοcus="getElementPositionXY(this)"/>
<br /><br />
<div id="divMsg" style="height:60px;width:100px;background-color:#cccccc"></div>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值