Foros del Web » Programando para Internet » Javascript »

que hago mal que no veo las variables fuera de la funcion?

Estas en el tema de que hago mal que no veo las variables fuera de la funcion? en el foro de Javascript en Foros del Web. Hola, estoy aqui con un problema seguramente muy tonto, pero no puedo utilizar las variables posX y posY fuera de la duncion findPos Alguna idea ...
  #1 (permalink)  
Antiguo 17/11/2008, 07:51
 
Fecha de Ingreso: agosto-2007
Mensajes: 9
Antigüedad: 16 años, 8 meses
Puntos: 0
que hago mal que no veo las variables fuera de la funcion?

Hola, estoy aqui con un problema seguramente muy tonto, pero no puedo utilizar las variables posX y posY fuera de la duncion findPos

Alguna idea como solucionarlo?

gracias!

Código:
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/JavaScript">
var posX =0;
var posY =0;
function findPos()
{
var obj = document.getElementById('bla');
posX = obj.offsetLeft; posY = obj.offsetTop;
while(obj.offsetParent)
	{
	posX=posX+obj.offsetParent.offsetLeft;
	posY=posY+obj.offsetParent.offsetTop;
	if(obj==document.getElementsByTagName('body')[0]){break}
	else{obj=obj.offsetParent;}
	}
return posY;
}


onload=findPos;
document.write(posY);

</script>
<style type="text/css">
<!--
html body {
	margin-top: 0px;
	margin-left: 0px;
}
-->
</style>
</head>
<body>
<div style="position:absolute;left:10px;top:10px">
<table style="position:relative;left:10px;top:10px" width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td id='bla'>blabla</td>
</tr>
</table>
</div>
</body>
</html>
  #2 (permalink)  
Antiguo 17/11/2008, 08:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: que hago mal que no veo las variables fuera de la funcion?

Teóricamente deberías verla, pero el caso es que estás ejecutando el document.write antes de que se ejecute la función (se ejecuta al terminar de cargar la página), es probable que por eso no te muestre el valor.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:24.