У меня есть пара ссылок на моей странице (внутри <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 на странице займет больше или меньше.
Дайте мне знать, если мне нужно что-то прояснить, и я смогу предоставить больше кода.