2012-08-28 44 views
-1

對於頁面加載速度的優化,Google建議對樣式和腳本的排序應該是CSS第一和JavaScript第二。
我明白這是一種很好的做法。什麼是CSS依賴javascript的一個很好的例子?

但是在文檔中,它說:「如果JS代碼不依賴於CSS文件,那麼可以在JS文件之前移動CSS文件,如果JS代碼依賴於包含在外部文件中的CSS - 例如,在JS代碼中寫入文檔的輸出所需的樣式 - 這是不可能的。「

我不能拿出一個混凝土後者的例子。

什麼是這種「你在JS代碼中寫入文檔所需輸出所需的樣式」的好例子?

該文件是Here

編輯:我的目的是摸清情況JavaScript時絕對需要CSS文件之前放置。

回答

1

我想當你有這樣的事情?

$("#someDiv").addClass("my_css_transition"); 

它總體上是好的做法通過與添加/ removeClass,而不是設置樣式屬性直接用JavaScript CSS做在JavaScript中的所有風格的變化。這使得你的JavaScript依賴於你的CSS。例如,CSS可以定義轉換,如fadeIn或slideIn。如果這些需要在頁面加載時觸發,則需要在JavaScript添加類之前加載CSS。


雖然這是來自谷歌的忠告,但知道這是超級先進的東西。如果你有一個普通的CMS或Wordpress網站,你不必擔心這一點。如果你是谷歌,雅虎或Facebook,那麼是的,你應該擔心它。

+0

在這種情況下,應該首先放置CSS。我正在尋找JavaScript放在CSS之前的原因。 – studiomohawk

+0

如果你的JavaScript不依賴於CSS。 IE瀏覽器。在JavaScript中直接進行轉換而不使用CSS定義的轉換類的情況。 – Halcyon

+0

對不起,我編輯了我的問題。我知道這是多麼好的練習,我知道不要太擔心。我只是很想知道Google所說的例子,而不是首先放置CSS。 – studiomohawk

2

一個簡單的例子就是,如果你的JavaScript需要CSS樣式的特定HTML元素的尺寸。

在這種情況下,樣式表中的CSS應該應用於該元素,然後通過getComputedStyle()讀取其尺寸。

這裏的例子可能是爲靈活寬度的表定義粘性表頭,其中在渲染正文之後,頭的寬度相應地設置爲主體的寬度。

+0

@shhac正好。 – studiomohawk

相關問題