2012-08-30 42 views
5

我有div標記,在這個div標記中,我寫了數據庫結果(使用PHP/MYSQL)。 我想警告高度這個div標記。問題是,有時候警報會返回錯誤的div高度(小於實際結果)。有時候結果是正確的。獲取div標記高度

我認爲,這種情況發生,因爲JavaScript返回的結果之前,比PHP完成他們的工作 ,這是結果不到,真正的高度div標記。有人知道如何解決這個問題? (中肯的,不正確的警報結果,只有Chrome和Safari中,Opera和Firefox結果總是真的。) 這是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>"; 

和JS代碼:

$(document).ready (function() { 

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

}); 
+0

鉻和Safari瀏覽器有多遠? –

+0

你如何確定正確的身高?你怎麼知道這是錯的? –

+1

PHP將永遠在你的JS之前運行(除非你通過ajax逐塊加載它),所以它不應該有任何關係。 – jeremyharris

回答

3

計算高度加載頁後,

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

'.ready'在DOM準備就緒時運行,但這並不意味着它已經「解決了」。例如,圖形可能仍然需要加載。 'onload'在頁面完成後運行。 –

+1

非常感謝,當我在「window.onload」上更改「$(document).ready」時,問題得到解決 – RIKI