Javascript.RU

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

Переключатель стиля
Добрый день. Нужна помощь.
Есть два css файла:

<link rel="stylesheet" type="text/css" href="http://localhost/dir/css/css.css" title="File_css" />
<link rel="alternate stylesheet" type="text/css" href="http://localhost/dir/css/css2.css" title="File_css2" />


И по клику на <a> должны меняться css с первого на второе. Я пробовал пойти так:
1) Поставить только один тег <link>:
<link rel="stylesheet" type="text/css" href="http://localhost/dir/css/css.css" title="File_css" />


2) Создать следующий javascript:
<script>
function style() {
document.getElementsByTagName('link').setAttribute('href', 'http://localhost/dir/css/css2.css');
document.getElementsByTagName('link').setAttribute('title', 'File_css2');
</script>


3) Тег <a> для применения скрипта
<a href="#" onclick="javascript:style();">Сменить стиль</a>


Т.е. По клику javascript должен менять ссылку на css и, соответственно, стиль всей страницы. Но, почему-то, не работает.

Кто может помочь?

Последний раз редактировалось 2chan, 11.07.2014 в 23:21. Причина: Добавление деталей
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2014, 05:26
Аспирант
Отправить личное сообщение для 2chan Посмотреть профиль Найти все сообщения от 2chan
 
Регистрация: 11.07.2014
Сообщений: 69

Бамп чтоле?
Ответить с цитированием
  #3 (permalink)  
Старый 13.07.2014, 10:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

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

Всё, решил.
Если кому интересно, то вот:

function set_stylesheet(styletitle,norefresh)
{
	set_cookie("style",styletitle,365); // добавил сохранение куков

	var links=document.getElementsByTagName("link");
	var found=false;
	for(var i=0;i<links.length;i++)
	{
		var rel=links[i].getAttribute("rel");
		var title=links[i].getAttribute("title");
		if(rel.indexOf("style")!=-1&&title)
		{
			links[i].disabled=true;
			if(styletitle==title) { links[i].disabled=false; found=true; }
		}
	}
	if(!found) set_preferred_stylesheet(); // если не найдено, то вызывается отдельная функция, которая ставит стиль по умолчанию
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переключатель контента bezpredel jQuery 1 02.04.2012 14:06
Задание пунктам меню значение стиля по умолчанию IONEX jQuery 1 15.01.2012 17:42
Кэширование CSS стиля zeionline Элементы интерфейса 1 13.12.2011 21:22
Как получить значения стиля Glook jQuery 2 18.12.2010 13:18
Выдрать значение стиля BoFFka Элементы интерфейса 11 01.12.2010 12:01