2012-08-30 18 views
5

Ich habe div-Tag, in diesem div-Tag schreibe ich Ergebnisse aus der Datenbank (mit PHP/MYSQL). Ich möchte Alarmhöhe dieses div-Tag. Problem ist, dass die Warnung manchmal eine falsche div-Höhe zurückgibt (weniger als das echte Ergebnis). manchmal ist das Ergebnis korrekt.Obtain div tag height

Ich denke, das passiert, weil Javascript Ergebnisse vor gibt, als PHP ihre Arbeit beendet und auf diesem Ergebnis ist weniger als, echte Höhe Div-Tag. jemand weiß, wie dieses Problem gelöst wird? (apropos, falsche Alarm Ergebnis ist nur Chrome und Safari, in Opera und Firefox Ergebnis immer real.) diese PHP-Code ist:

$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>"; 

und js Code:

$(document).ready (function() { 

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

}); 
+0

Wie weit sind Chrome & Safari? –

+0

Wie ermitteln Sie die richtige Höhe? Woher weißt du, dass es falsch ist? –

+1

Das PHP wird immer vor deinem JS laufen (außer du lädst es Stück für Stück über Ajax), also sollte es damit nichts zu tun haben. – jeremyharris

Antwort

3

berechnen Höhe zu verwenden, nachdem Seite geladen,

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

'.ready' läuft, wenn das DOM bereit ist, aber das heißt nicht dass es "erledigt" hat. Grafiken müssen zum Beispiel noch geladen werden. 'onload' wird ausgeführt, nachdem die Seite vollständig ist. –

+1

Vielen Dank, wenn ich "$ (Dokument) .ready" auf "window.onload" ändern, wird das Problem behoben – RIKI