Ver Mensaje Individual
  #12 (permalink)  
Antiguo 07/06/2005, 12:29
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
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