2013-06-20 86 views
0

我有以下的HTML代碼半秒期間兩個div:防止IE表示負載

<div id="block1"> 
some text 
</div> 
<div id="block2"> 
some more text 
</div> 

和一塊jQuery代碼:

jQuery(document).ready(function($) { 
    $('block1').css('display', 'block'); 
    $('block2').css('display', 'none'); 
}); 

理論上,這應該顯示BLOCK1和隱藏block2。在實踐中,IE在半秒內顯示兩個DIV,然後才顯示出好的(塊1)。這不會發生在Chrome,Firefox等...

我不能添加style =「display:block;」和style =「display:none;」直接在HTML代碼中,因爲它是由dinamically生成的。

有沒有其他的選擇使用jQuery使這項工作在每個瀏覽器?

+1

如果你不能控制html,你如何添加jquery? –

+0

你可以直接使用JS,因爲在使用jQuery庫之前需要花時間解析它。即使使用JS方法,您仍然可能有閃光點(儘管更短),因爲腳本在行爲隱藏之前仍需執行客戶端,而且您可能遇到腳本在頁面前運行的問題已經完全加載,這會更糟糕。 –

+0

爲什麼不動態添加兩個塊作爲硬編碼顯示:無,並顯示:文檔上的塊準備好了你想要的那個?這樣他們永遠都不會同時顯示 – greener

回答

2

您可以嘗試使用CSS的樣式表先躲都申報單,並使用jQuery來顯示它就像你正在做的,現在

OR

你可以只讓整個身體不是辦法在css中可見並使用jquery在一切準備好顯示之後改變可見性。

如果您可以控制輸出div代碼,則始終可以將它們輸出爲display none並僅顯示正確的代碼。很多選項,但我不知道你可以/不能做什麼

+0

您的第一個解決方案取得了訣竅!謝謝! – user1991185