首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JavaScript取得鼠标绝对位置

2012-12-21 
JavaScript获得鼠标绝对位置!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//ENhtmlhead

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" onfocus="getElementPositionXY(this)"/>
<br /><br />
<div id="divMsg" style="height:60px;width:100px;background-color:#cccccc"></div>
</body>
</html>

热点排行