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