复制代码代码如下:
<Evista>
<title> js 获取 div 相对坐标 </title>
<script type = "text/javaScript"> <!-
función getx (obj) {
var parobj = obj;
var izquierda = obj.offsetleft;
while (Parobj = Parobj.OffSetParent) {
izquierda+= Parobj.offsetleft;
}
regresar a la izquierda;
}
función gety (obj) {
var parobj = obj;
var top = obj.offsettop;
while (Parobj = Parobj.OffSetParent) {
top+= Parobj.offsettop;
}
devolver la parte superior;
}
función displayCoord (evento) {
var es superior, izquierda, odiv;
odiv = document.getElementById ("demo");
top = gety (odiv);
izquierda = getx (ODIV);
document.getElementById ("mp_x"). innerhtml = (event.clientx -left+document.documentelement.scrollleft) -2+ "px";
document.getElementById ("mp_y"). innerhtml = (event.clienty -top+document.documentelement.scrolltop) -2+ "px";
}
// -> </script>
</ablo>
<Body style = "margen: 40px;" mce_style = "margin: 40px;">
<div style = "Color de fondo:#000000; color:#0011ff; ancho: 300px; altura: 300px; posición: absoluto; arriba: 80px; izquierda: 90px; margen: 0px; borde: 0px;" id = "demo" onmouseMove = "displayCoord (evento)">
我是 Div, 经测试, 有 2px 的误差 ...
</div>
当前鼠标坐标为 :
X : <span id = "mp_x"> </span>
Y : <span id = "mp_y"> </span>
</body>
</body>
</Html>
如果不对 可以试试将 可以试试将
document.documentelement.scrollleft
替换成
document.body.scrollleft