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

Как сохранить темную тему сайта при переключении страниц?


     30.09.2021    Все вопросы » Общие вопросы    1186

вопрос
Имеется сайт на dle. Реализовано переключение со светлой темы на темную, все работает отлично. (шаблон сайта https://newtemplates.ru/5752-animan-dlya-dle-131.html). Если находясь в темной теме перейти на какую-нибудь вкладку на сайте, включается вновь светлая тема автоматически. Подскажите, как сохранить выбор темы для пользователя, чтобы при серфе по сайту тема не сбивалась?

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


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

deadluk
Юзер

deadluk - 1 октября 2021 09:02 -

используя cookies можно

Losyash
Юзер

Losyash - 1 октября 2021 09:14 -

Да, но не могу до конца разобраться как это сделать. У меня есть файл css "dark-style.css", включение темного стиля идет нажатием на кнопку.

Код js
$('#site-dark').on('click', function(e) {
    $("body").toggleClass("site-dark");
});

Нашел шаблон, в котором эта функция реализована с куки и работает все четко, там код следующий:
if ($.cookie('highContrast') === "true") {
      $('head').append('<link href="/templates/.../css/dark_styles.css" type="text/css" rel="stylesheet" id="hc_stylesheet"/>'); //Вместо /templates/.../ прописать путь к вашему шаблон
    }
    $(".change_style").click(function () {
      if (!($.cookie('highContrast') === "true")) {
        $('head').append('<link href="/templates/.../css/dark_styles.css" type="text/css" rel="stylesheet" id="hc_stylesheet"/>'); //Вместо /templates/.../ прописать путь к вашему шаблон
        $.cookie('highContrast','true',{path:'/'});
      } else {
        $("#hc_stylesheet").remove();
        $.cookie('highContrast','false',{path:'/'});
      }
    });

Я попытался подправить его под себя, заменил класс .chanhe-style на мой id, но не сработало
if ($.cookie('highContrast') === "true") {
      $('body').append('<link href="{THEME}/css/dark-styles.css" type="text/css" rel="stylesheet" id="hc_stylesheet"/>');
    }
    $("#site-dark").click(function () {
      if (!($.cookie('highContrast') === "true")) {
        $('body').append('<link href="/{THEME}/css/dark-styles.css" type="text/css" rel="stylesheet" id="hc_stylesheet"/>'); 
        $.cookie('highContrast','true',{path:'/'});
      } else {
        $("#hc_stylesheet").remove();
        $.cookie('highContrast','false',{path:'/'});
      }
    });

deadluk
Юзер

deadluk - 1 октября 2021 09:44 -

ctrl + shift + i и смотрите что пишет консоль, когда пытаетесь активировать тёмную тему, ну или в общем, при обновлении страницы, нужно смотреть

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

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

 08.07.2014 dimanbmw  Общие вопросы
наверх