2012-08-30 26 views
5

Tengo etiqueta div, en esta etiqueta div, escribo los resultados de la base de datos (con PHP/MYSQL). Quiero altura de alerta esta etiqueta div. El problema es que, a veces, la alerta devuelve una altura de div incorrecta (menos que el resultado real). a veces el resultado es correcto.Obtener la altura de la etiqueta div

Creo que esto sucede, porque javascript devuelve el resultado antes, que php termina su trabajo y en este caso es resultado de una etiqueta div de altura real. alguien sabe cómo resolver este problema? (a propósito, resultado de alerta incorrecta, sólo es Chrome y Safari, en la ópera y el resultado Firefox siempre reales.) esto es código PHP:

$res = mysqli_query("SELECT some_column FROM table"); 
echo '<div id="my_div">'; 
while ($row = mysqli_fetch_row($res)) { 
    echo '<p>'.row[0].'</p>'; 
} 
echo "</div>"; 

y js código:

$(document).ready (function() { 

    alert($("#my_div").height()); 

}); 
+0

¿Qué tan lejos están chrome & safari? –

+0

¿Cómo se determina la altura correcta? ¿Cómo sabes que está mal? –

+1

El PHP siempre se ejecutará antes de su JS (a menos que lo esté cargando pieza por pieza mediante ajax), por lo que no debería tener nada que ver con eso. – jeremyharris

Respuesta

3

calcular después de la página cargada,

window.onload = function(){ 
    alert($("#my_div").height()); 
} 
+1

'.ready' se ejecuta cuando el DOM está listo, pero eso no significa que ha "establecido". Los gráficos, por ejemplo, pueden necesitar cargarse. 'onload' se ejecuta después de que se completa la página. –

+1

Muchas gracias, cuando cambio "$ (document) .ready" en "window.onload", el problema está resuelto – RIKI

Cuestiones relacionadas