2011-08-14 109 views
0

我只使用jQuery進行樣式設置,而使用body標籤中的html標籤創建div。問題在於瀏覽器首先顯示頁面內容與左側對齊,幾秒鐘後內容按照jQuery CSS樣式排列。我的問題是:有沒有辦法讓瀏覽器在正確的位置顯示內容,而無需先將它對齊到左側?謝謝。jQuery樣式問題

+0

如何使用CSS文件,並把所有的jQuery不需要的樣式在那裏? –

+0

是的。這正是我所做的。謝謝 – FadelMS

回答

3

您的選擇:

  1. 不要使用jQuery申請樣式信息一切,這不是它的目的

  2. 啓動所有的內容隱藏的頁面,應用類信息和style屬性到隱藏的內容。一旦您完成後,取消隱藏內容

+0

第二個選項不起作用。所以我用正常樣式表替換了jQuery css。謝謝 – FadelMS

0

對於jQuery有一個元素來應用樣式,它必須已經由瀏覽器呈現。因此,內容必須首先顯示,而不使用JavaScript應用的樣式。爲避免無格式內容的閃爍,請將display:none添加到該內容,然後使用jQuery在樣式化後顯示它。

<div id="myJqueryStyledStuff" style="display:none">content</div> 

<script>$('#myJqueryStyledStuff').show();</script> 
+0

strada的答案更好,因爲它會正確支持JavaScript禁用的瀏覽器。 no.good.at.coding是正確的,使用jQuery的基本風格並不是一個好主意。我實際上無法想到需要的情況。所以你可能不應該這樣做。 –

0

如果您之前在頁面加載,使事情在$(document).ready();事件可見在您的主要<body>標籤設置display:nonevisibility:hidden;,它應該工作。

1

首先在頭部分的腳本標籤補充一點:

document.documentElement.className += ' js'; 

這增加了一個類,如果啓用了JS的HTML元素。你可以使用這個類中的CSS,如:

.js #wrapper{ 
     display:none; 
} 

我們用這個「JS」類,因爲你不應該隱瞞不支持JavaScript的人的內容。

包裝在這裏是你使用jQuery風格的元素id。然後當你完成jQuery操作時,用jquery顯示樣式元素。