Eso del nodo está muy bueno. Como habrás leido, yo lo intenté con
parentElement y me daba cualquier valor cuando había un
center ,
tbody ,... pero ésto parece funcionar. Debería estudiar mejor el tema de los nodos; me leí un par de tutoriales, pero estaban explicados casi como mis mensajes en el foro, así que no entendí nada.
La verdad es que hice muchas pruebas ya hace tiempo, y me da como 'cosa' empezar a repetirlas para saber en que casos trabaja o no el escript. Si puedes hacer esas pruebas -con tiempo- para las distintas circunstancias y postearlas, seguramente el tema va a quedar más redondo.
Igual algo hice, y me llamó la atención una cosa que, o no me pasó antes, o no recordaba. Mira lo que ocurre con la posición del puntero al entrar en el objeto.
Código:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<style>
#myLayer{width:297px; height:111px; z-index:1; background-color: #FF0000; layer-background-color: #FF0000; border: 1px none #000000;}
#cont{position:relative; left:135px; top:24px; }
body {
margin-left: 10px;
margin-top: 15px;
}
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function Coordenadas(obj)
{
objOriginal = obj;
var Yo = 0;
var Xo = 0;
while(obj.nodeName != "BODY")
{
Yo += parseInt(obj.offsetTop);
Xo += parseInt(obj.offsetLeft);
obj = obj.parentNode;
alert(obj.nodeName)
}
var X1 = parseInt(Xo) + parseInt(objOriginal.offsetWidth);
var Y1 = parseInt(Yo) + parseInt(objOriginal.offsetHeight);
alert("Xo= "+Xo+"\n X1="+X1+"\n Yo= "+Yo+"\n Y1= "+Y1);
//document.getElementById("punto").style.left = Xo+"px";
//document.getElementById("punto").style.top = Yo+"px";
}
function qwert(){
status = window.event.x +" "+ window.event.y;
}
//-->
</script>
</head>
<body onmousemove=qwert()>
<center>
<div id="cont" >
<div id="myLayer" onClick="Coordenadas(this)"></div>
</div>
</center>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<table cellpadding="0" cellspacing="0" bor der=2>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
<div al ign="center"><img height="100" src="http://img.clarin.com/suplementos/informatica/2005/06/01/homesimple.jpg" onClick="Coordenadas(this)" /></div></td>
</tr>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
</table>
<br />
<br />
<div style="position:absolute; top:54px; left:621px; background:lime; height:30px; width:30px;" id="punto"></div>
</body>
</html>
saludos, y otra vez gracias
furoya