Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » jQuery » Как сделать смену стиля через checkbox с сохранением в локальное хранилище?

Как сделать смену стиля через checkbox с сохранением в локальное хранилище?


     Все вопросы » jQuery    621

вопрос
Есть такой js:


	document.getElementById('themeswitch').onclick = function() {
		if(document.getElementById('themeswitch').checked) {
			localStorage.setItem('themeswitch', "true");
		} else {
			localStorage.setItem('themeswitch', "false");
		}
	}
	if (localStorage.getItem('themeswitch') == "true") {
		document.getElementById("themeswitch").setAttribute('checked','checked');
	}


Как сделать чтобы при проверки его значения изменялся атрибут href у подключенного стиля с id="theme"?
Пытался подставлять примеры из интернета, но атрибут менялся только когда я нажимал на checkbox, а при перезагрузки страницы все было по старому.

Ответа пока нет


2 комментария

BYMERPRO
Юзер

BYMERPRO - -

Смог вот так:
document.getElementById('themeswitch').onclick = function() {
		if(document.getElementById('themeswitch').checked) {
			localStorage.setItem('themeswitch', "true");
			document.getElementById("theme").setAttribute('href','/templates/proxyma/assets/css/admin3.css');
		} else {
			localStorage.setItem('themeswitch', "false");
			document.getElementById("theme").setAttribute('href','/templates/proxyma/assets/css/admin2.css');
		}
	}
	if (localStorage.getItem('themeswitch') == "true") {
		document.getElementById("themeswitch").setAttribute('checked','checked');
		document.getElementById("theme").setAttribute('href','/templates/proxyma/assets/css/admin3.css');

	}


Но видно что стиль меняется по ходу загрузки страницы. Это не приятно.

maks
Юзер

maks - -

Может такой вариант подойдет http://dynamicdrive.com/dynamicindex9/stylesheetswitcher.htm

Похожие вопросы

 25.08.2014 hatchees  jQuery
наверх