Задать вопрос
@IndexZeroLz

Постоянная темная тема. Как сделать?

Делаю сайт для телеграм бота. Добавил возможность перехода на светлую тему, но при переходе на другую страницу тема меняется назад. Как сделать чтобы она не менялась назад?

Ссылка на сайт:
https://indexzerozzz.github.io/bonbon_tg/
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
Seasle
@Seasle Куратор тега CSS
В раздел head:
+ function applyTheme() {
+     const isDark = (localStorage.getItem('is-dark-theme') ?? 'true') === 'true';
+     if (isDark) {
+         document.body.classList.remove('light-mode');
+         document.body.classList.add('dark-mode');
+     } else {
+         document.body.classList.remove('dark-mode');
+         document.body.classList.add('light-mode');
+     }
+ }

- var dark = true;
function themeChange() {
-     var element = document.body;
- 
-     if (dark == true) {
-         element.classList.remove("dark-mode");
-         element.classList.add("light-mode");
-         dark = false;
-     }
- 
-     else {
-         element.classList.remove("light-mode");
-         element.classList.add("dark-mode");
-         dark = true;
-     }
+     localStorage.setItem('is-dark-theme', !((localStorage.getItem('is-dark-theme') ?? 'true') === 'true'));
+     applyTheme();
}

+ window.addEventListener('DOMContentLoaded', function () {
+     applyTheme();
+ });
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Evdokim001
PHP & WordPress developer
В куки запиши по умолчанию белый цвет. Если пользователь изменит цвет то в куках цвет изменится на чёрный. Думаю, таким образом получится решить)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
05 янв. 2025, в 07:48
2000 руб./за проект
05 янв. 2025, в 06:24
15000 руб./за проект
05 янв. 2025, в 06:22
15000 руб./за проект