我的页面上有几个链接(在 a 中<div id="theme-selector">
),它们允许您更改 CSS 样式表:
$('#theme-selector a').click(function(){
var path = $(this).attr('href');
$('head link').remove();
$('head').append('<link type="text/css" href="'+path+'" rel="stylesheet" />');
return false;
});
现在,在更改页面上的样式后,我想使用以下代码(我在$('head').append
调用后放置)获取新的背景颜色:
var bgcolor = $('body').css('background-color');
alert(bgcolor);
我认为问题是浏览器下载新样式表需要一些时间,有时我的警报消息中会出现旧的背景颜色。是否有一些我可以绑定的事件只会在页面上加载所有样式表后才提醒我?
目前,我能想到的只是使用一个setTimeout(function(){}, 5000);
不太好的,因为如果加载页面上的所有 CSS 需要更长/更短的时间怎么办。
如果我需要澄清任何事情,请告诉我,我可以提供更多代码。