Cita:
Iniciado por PatomaS
Hola
Recuerda que para poder manipular las propiedades con JavaScript, debes haberlas definido primero en el elemento mediante el atributo style, prueba este ejemplo que te dejo:
Código HTML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
<head>
<style type="text/css">
* {border: 0; margin: 0; padding: 0;}
html,body { width: 100%; height: 100%; background-color: #fff; }
button {cursor: pointer;}
#Base { width: 100%; background-color: inherit;}
#uno {}
#dos {position: absolute; top: 50px;}
#tres {position: absolute; background-color: #f00;}
</style>
<script type="text/javascript">
function leerpropiedades(x) {
alert (document.getElementById(x).style.top);
}
</script>
<title>Pruebilla</title>
</head>
<body>
<div id="Base">
<p id="uno">primer texto</p>
<p> </p>
<p id="dos">segundo texto</p>
<p> </p>
<p id="tres" style="top: 200px;">tres texto</p>
<p> </p>
<form id="formulario" method="post" action="">
<p><button type="submit" value="uno" onclick="javascript:leerpropiedades(this.value);">presionar para obtener los datos del primer texto</button></p>
<p><button type="submit" value="dos" onclick="javascript:leerpropiedades(this.value);">presionar para obtener los datos del segundo texto</button></p>
<p><button type="submit" value="tres" onclick="javascript:leerpropiedades(this.value);">presionar para obtener los datos del tercer texto</button></p>
</form>
</div>
</body>
</html>
Felicidad
Ahh, o sea que para poder hacerlo tienes que definir las propiedades a la hora de usar la capa. No tenía ni idea, creía que con hacerlo a la hora de declararla en el bloque style también funcionaba. Y ahora que me fijo, en los ejemplos que había encontrado en Google también es así :P.
Pues muchas gracias, llevaba un par de días dándole vueltas y no caía en cual era el problema. Un saludo.