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

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


     30.04.2020    Все вопросы » jQuery    573

вопрос
Есть такой 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 - 30 апреля 2020 15:51 -

Смог вот так:
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 - 30 апреля 2020 21:32 -

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

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

 25.08.2014 hatchees  jQuery
наверх