2011-05-05 96 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