2012-08-30 14 views
5

Mam znacznik div, w tym znaczniku div zapisuję wyniki z bazy danych (z PHP/MYSQL). Chcę wysokość alertu tego znacznika div. Problem polega na tym, że czasami alert zwraca nieprawidłową wysokość div (mniej niż prawdziwy wynik). czasami wynik jest poprawny.Uzyskaj wysokość znacznika div

Myślę, że tak się dzieje, ponieważ javascript zwraca wynik wcześniej, niż php kończy swoją pracę i na tym jest wynik mniejszy niż znacznik real height div. ktoś wie, jak rozwiązać ten problem? (apropos, nieprawidłowy wynik alert, jest tylko Chrome i Safari, Opera i Firefox rezultacie zawsze rzeczywistym.) to jest kod 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>"; 

i js kod:

$(document).ready (function() { 

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

}); 
+0

Jak daleko są chromowane i safari? –

+0

Jak określić prawidłową wysokość? Skąd wiesz, że to źle? –

+1

PHP zawsze będzie działało przed twoim JS (chyba że ładujesz go kawałek po kawałku przez ajax), więc nie powinno to mieć nic wspólnego z tym. – jeremyharris

Odpowiedz

3

obliczać po stronie obciążeniem

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

'.ready' działa, gdy DOM jest gotowy, ale to nie znaczy że "osiadł". Na przykład grafika może nadal wymagać załadowania. 'onload' działa po ukończeniu strony. –

+1

Dziękuję bardzo, kiedy zmienię "$ (document) .ready" na "window.onload", problem został rozwiązany – RIKI

Powiązane problemy