我正在嘗試編寫加載多個css文件的javascript代碼。 但link元素沒有onload事件,這就是爲什麼我追加一些額外的元素到我的文件,告訴我如果css文件已被加載。 我不知道是否有可能只爲我的所有CSS文件和相同的CSS規則添加一個元素。累計css規則
換句話說,css中是否有一個累積規則,即它的應用程序對dom元素每次更改的影響(我的意思是效果取決於您應用此規則的次數)?
我正在嘗試編寫加載多個css文件的javascript代碼。 但link元素沒有onload事件,這就是爲什麼我追加一些額外的元素到我的文件,告訴我如果css文件已被加載。 我不知道是否有可能只爲我的所有CSS文件和相同的CSS規則添加一個元素。累計css規則
換句話說,css中是否有一個累積規則,即它的應用程序對dom元素每次更改的影響(我的意思是效果取決於您應用此規則的次數)?
不,沒有這樣的累積規則。你可以多次添加一個類,但是如果你做了一次,該元素將看起來像。
如果你想控制加載,你可以直接加載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
}
});
希望有點幫助。
這將只適用於內聯css而不適用於外部樣式表。 – jeroen 2011-05-05 16:41:42
這會告訴你什麼時候CSS已經完全由服務器發送,但它不會告訴你什麼時候CSS已經被解析和應用,是嗎? – sdleihssirhc 2011-05-05 16:42:06
@jeroen:外部css文件將由ajax加載並作爲內聯css插入。沒問題,還是我錯了? @sdleihssirhc:所有瀏覽器都會立即應用樣式。 – DanielB 2011-05-05 16:44:46
這太勉強了。 – sdleihssirhc 2011-05-05 16:36:00
@sdleihssirhc grody ??? – jeroen 2011-05-05 16:51:07
@ jeroen在一個好方法。 – sdleihssirhc 2011-05-05 17:06:39