我正在尝试编写加载多个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