Показать сообщение отдельно
  #4 (permalink)  
Старый 18.02.2015, 22:14
Аспирант
Отправить личное сообщение для 2chan Посмотреть профиль Найти все сообщения от 2chan
 
Регистрация: 11.07.2014
Сообщений: 69

Попробуй загружать все link, а потом менять.
Смотри, есть стили:
<link rel="stylesheet" data-default-style type="text/css" href="css/style1.css" title="Style1">
<link rel="alternate stylesheet" type="text/css" href="css/style2.css" title="Style2">
<link rel="alternate stylesheet" type="text/css" href="css/style3.css" title="Style3">
<link rel="alternate stylesheet" type="text/css" href="css/style4.css" title="Style4">
<link rel="alternate stylesheet" type="text/css" href="css/style5.css" title="Style5">
<link rel="alternate stylesheet" type="text/css" href="css/style6.css" title="Style6">
<link rel="alternate stylesheet" type="text/css" href="css/style7.css" title="Style7">
<link rel="alternate stylesheet" type="text/css" href="css/style8.css" title="Style7">

.
По умолчанию будет запускаться тот, у которого в rel нет "alternate", насколько я помню.
Потом скриптами меняешь:

var userStyle = function(styleTitle) {
	var links = document.head.querySelectorAll('link[rel~="stylesheet"][title]');
	var found = false;
	for(var i=0; i<links.length; i++) {
		links[i].disabled = true;
		if(styleTitle == links[i].getAttribute('title')) { /* слышал, что IE глючит с title у link. Поэтому getAttribute */
			links[i].disabled = false;
			found = true; 
		}
	}
	if(!found) { /* не найдено → устанавливаем тот, что по умолчанию */
		document.head.querySelector('[data-style-default]').disabled = false;
	} 
};

У меня немного по-другому, ибо ООП, но должно работать.

Последний раз редактировалось 2chan, 26.03.2015 в 18:39.
Ответить с цитированием