Cita:
Iniciado por zerokilled
¿los valores de ancho y alto estan definidos en un stylesheet? bien, si es el caso, leer las dimensiones a traves del objeto style del elemento, siempre te devolvera un valor vacio. la razon es que el objeto style no es otra cosa mas que el atributo style de los elementos. si el elemento no tiene definido el atributo, todos los valores que intentes recoger por el objeto style seran devuelto vacios. para ello, puedes usar otra propiedad que devuelve las dimensiones del elemento: offsetWidth y offsetHeight. fijate que son propiedades del elemento, no del objeto style.
Efectivamente los valores de ancho alto se pretendían alterar mediante objeto.style.height/widht respectivamente, claro que para que se adaptara el div al contenido cargado desde el .php directamente en la creación del objeto no definí ningún height ni width que pudiera limitar esa "adaptabilidad".
Parece por tanto que la única opción que me queda es la que comentas de usar
offsetWidth y
offsetHeight, pero me surge otro problema, cree esta función:
Código:
function recolocar_ventana()
{
var ventana = document.getElementById("contenido");
var anchofinal = ventana.offsetWidth;
var altofinal = ventana.offsetHeight;
alert("Anchofinal: "+anchofinal+", Altofinal: "+altofinal);
ventana.style.marginLeft = "-"+ (anchofinal/2) + "px";
ventana.style.marginTop = "-" + (altofinal/2) + "px";
}
Y luego hice una llamada a la misma dentro de la función que crea la ventana, pero justo después de que esta fuera rellenada y colocada en el html. Extrañamente devuelve los valores incorrectos, como si no le hubiera dado tiempo a rellenar el <div> con el contenido de .php, ya que si llamo a la función desde un enlace cargado a la vez que el formulario si responde bien ¿sugerencias? ¿un wait o algo antes de la llamada u alguna forma mas exacta de saber si el div se ha rellenado bien antes de mirar su ancho y alto?