@TopkaLife

LocalStorage — Применяет тему но не сохраняет, что нужно делать?

Здравствуйте, данный скрипт применяет нужную тему но не сохраняет при перезагрузки страницы, может я что-то упустил или не так делаю ?

Сам скрипт:
(function (window, document, undefined) {
 'use strict';
 if (!('localStorage' in window)) return;
 var nightMode = localStorage.getItem('gmtNightMode');
 if (nightMode) {
 document.documentElement.className += 'night-mode';
 }
 })(window, document);
 
 (function (window, document, undefined) {
 
 'use strict';
 
 // Feature test
 if (!('localStorage' in window)) return;
 
 // Get our newly insert toggle
 var nightMode = document.querySelector('#night-mode');
 if (!nightMode) return;
 
 // When clicked, toggle night mode on or off
 nightMode.addEventListener('click', function (event) {
 event.preventDefault();
 document.documentElement.classList.toggle('dark');
 if (document.documentElement.classList.contains('dark')) {
 localStorage.setItem('gmtNightMode', true);
 return;
 }
 localStorage.removeItem('gmtNightMode');
 }, false);
 
 })(window, document);

ID для переключение темы :
spoiler
night-mode
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
document.documentElement.className += 'night-mode';

Что будет, если в строке className что-то записано, например "class1 class2"?
После выполнения вашей строки получим "class1 class2night-mode". Ничего не замечаете?
Лучше работать с classList.
document.documentElement.classList.add('night-mode');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы