Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 11.05.2022, 10:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

смена темы оформления страницы с запоминанием выбора
vitalso78,
<!DOCTYPE html>
<html>
<head>
    <title>css localStorage</title>
    <meta charset="UTF-8" />
    <link rel="stylesheet" href="dark.css" id="theme-css-file" />
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            const styleElement = document.querySelector("#theme-css-file");
            const buttons = document.querySelectorAll("[data-set-theme-file]");
            let CssFilePath = localStorage.getItem("CssFilePath");
            if (CssFilePath) styleElement.href = CssFilePath;
            buttons.forEach(function(button) {
                let href = button.dataset.setThemeFile;
                button.addEventListener("click", function() {
                    styleElement.href = href;
                    localStorage.setItem("CssFilePath", href);
                })
            })
        });
    </script>
</head>
<body>
    <div>Switch theme:</div>
    <button type="button" data-set-theme-file="light.css">Light</button>
    <button type="button" data-set-theme-file="dark.css">Dark</button>
</body>
</html>
Ответить с цитированием
  #12 (permalink)  
Старый 11.05.2022, 11:03
Аспирант
Отправить личное сообщение для vitalso78 Посмотреть профиль Найти все сообщения от vitalso78
 
Регистрация: 10.05.2022
Сообщений: 31

Вот в этот код как воткнуть сохранение ?

window.onload = function() {
    document.getElementById('SuperButton').onclick = function()
    {
        if(document.body.className != 'new_class')
        {
            document.body.className = 'new_class';
        }
        else
        {
            document.body.className = '';
        }
    }
}
Ответить с цитированием
  #13 (permalink)  
Старый 11.05.2022, 11:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от vitalso78
Вот в этот код как воткнуть сохранение ?
зачем? грузите ваши css, как показано выше #11, и не мучайтесь с body.
Ответить с цитированием
  #14 (permalink)  
Старый 11.05.2022, 11:57
Аспирант
Отправить личное сообщение для vitalso78 Посмотреть профиль Найти все сообщения от vitalso78
 
Регистрация: 10.05.2022
Сообщений: 31

заменв стилей
Сообщение от рони Посмотреть сообщение
зачем? грузите ваши css, как показано выше #11, и не мучайтесь с body.
У меняя не работает ваша конструкция, не полностью подгружает стили. Можно сказать, что вообще не подгружает. Если не трудно, помогите мне в мой код воткнуть сохранение.
Ответить с цитированием
  #15 (permalink)  
Старый 11.05.2022, 12:06
Аспирант
Отправить личное сообщение для vitalso78 Посмотреть профиль Найти все сообщения от vitalso78
 
Регистрация: 10.05.2022
Сообщений: 31

Вот я поставил ваше https://delivery.foodsonic.ru/ Вообще работает не поймёш как
Ответить с цитированием
  #16 (permalink)  
Старый 11.05.2022, 12:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от vitalso78
Вообще работает не поймёш как
прекрасно работает, что не так?
Ответить с цитированием
  #17 (permalink)  
Старый 11.05.2022, 12:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

счас перекинем с кнопок, на ваш div
Ответить с цитированием
  #18 (permalink)  
Старый 11.05.2022, 12:20
Аспирант
Отправить личное сообщение для vitalso78 Посмотреть профиль Найти все сообщения от vitalso78
 
Регистрация: 10.05.2022
Сообщений: 31

Фиг знает, у меня не пашет. Один раз переключаеш, потом всё, триндец, не работают кнопки
Ответить с цитированием
  #19 (permalink)  
Старый 11.05.2022, 12:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

vitalso78,
верните id!!! id="SuperButton" и замрите)))
Ответить с цитированием
  #20 (permalink)  
Старый 11.05.2022, 12:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

vitalso78,
<!DOCTYPE html>
<html>
<head>
    <title>css localStorage</title>
    <meta charset="UTF-8" />
    <base href="https://delivery.foodsonic.ru/" />
    <link rel="stylesheet" href="https://delivery.foodsonic.ru/dark.css" id="theme-css-file" />
    <script>
        document.addEventListener("DOMContentLoaded", function() {

            const styleElement = document.querySelector("#theme-css-file");
            const button = document.querySelector("#SuperButton");
            let CssFilePath = localStorage.getItem("CssFilePath");
            if (CssFilePath) styleElement.href = CssFilePath;
                button.addEventListener("click", function() {
                    let href = "https://delivery.foodsonic.ru/light.css";
                    button.classList.toggle("switch-on");
                    if(button.classList.contains("switch-on")) href = "https://delivery.foodsonic.ru/dark.css";
                    styleElement.href = href;
                    localStorage.setItem("CssFilePath", href);
                })
        });
    </script>
</head>
<body>
    <div>Switch theme:</div>
    <div class="switch-btn switch-on" id="SuperButton" name="SuperButton">click me SuperButton</div>

</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переименовать название стилей в SVG перед вставкой в другой SVG Герасим Events/DOM/Window 9 09.06.2018 09:16
Замена тегов Kost-iv Events/DOM/Window 4 01.11.2015 17:12
Шаблон сброса стандартных стилей Olegich (X)HTML/CSS 14 13.09.2013 18:47
Динамическое применение стилей к элементу и их отмена Amphiluke Events/DOM/Window 10 26.11.2012 22:33
Изменение путей к таблицам стилей и скриптам в скрипете галереи lightbox 2.04 Flashton Элементы интерфейса 1 01.02.2010 10:10