2011-05-05 112 views
1

我正在嘗試編寫加載多個css文件的javascript代碼。 但link元素沒有onload事件,這就是爲什麼我追加一些額外的元素到我的文件,告訴我如果css文件已被加載。 我不知道是否有可能只爲我的所有CSS文件和相同的CSS規則添加一個元素。累計css規則

換句話說,css中是否有一個累積規則,即它的應用程序對dom元素每次更改的影響(我的意思是效果取決於您應用此規則的次數)?

+0

這太勉強了。 – sdleihssirhc 2011-05-05 16:36:00

+0

@sdleihssirhc grody ??? – jeroen 2011-05-05 16:51:07

+0

@ jeroen在一個好方法。 – sdleihssirhc 2011-05-05 17:06:39

回答

3

不,沒有這樣的累積規則。你可以多次添加一個類,但是如果你做了一次,該元素將看起來像。

如果你想控制加載,你可以直接加載CSS文件到Ajax頁面。如果完成,ajax請求會給你迴應。現在您可以將css插入到文檔中,並立即應用它。

使用jQuery它可能是

$.ajax({ 
    url: 'url/to.css', 
    dataType: text, 
    method: 'POST', 
    success: function(data) { 
     $('body').append('<style>' + data + '</style>'); 
     // some more code as the css is in the page 
    } 
}); 

希望有點幫助。

+0

這將只適用於內聯css而不適用於外部樣式表。 – jeroen 2011-05-05 16:41:42

+0

這會告訴你什麼時候CSS已經完全由服務器發送,但它不會告訴你什麼時候CSS已經被解析和應用,是嗎? – sdleihssirhc 2011-05-05 16:42:06

+0

@jeroen:外部css文件將由ajax加載並作爲內聯css插入。沒問題,還是我錯了? @sdleihssirhc:所有瀏覽器都會立即應用樣式。 – DanielB 2011-05-05 16:44:46