Кнопка, которая добавляет и запоминает к тегу <body> класс dark, которым можно перекрасить весь сайт.

Пример:

HTML:

CSS:

А далее добавляем к нужным элементам сайта дополнительные цвета, например имеем:

Добавляем:

В этом примере я использовал массовую замену фона и шрифтов, добавив:

Но так лучше не делать, т.к. может измениться лишнее, а что-то нужное нет.

JS:

JS используется для того, чтобы запомнить сделанный выбор и вывести его при загрузке страницы.

Смотрите также:

Оформления логотипа сайта новогодним элементом на примере лого ВКонтакте

Создание и установка модального окна с сообщением об использовании файлов cookies

Полезные решения и функции на JavaScript c библиотекой jQuery, которые могут пригодиться при работе над сайтом

Добавить комментарий:

Ваш комментарий отправлен!

Комментарии:

  • SOME:

    А ведь [b]можно сделать div блок[/b] который [b]покрывает всё пространство[/b] с [b]фильтром invert(...)
    [/b]
    И тогда нужно написать скрипт чтобы при нажатии на кнопку был filter:invert(100);
    а если ещё раз нажать то filter:invert(0);

    Вот материал(я просто в JavaScript не шарю)
    [code]
    /*style*/
    .tema{
    position:fixed;
    top:0px;left:0px;right:0px;bottom:0px;
    backdrop-filter:invert(0);
    transition: all 5s easy;
    }
    [/code]
    А далее сама страница
    [code]
    <!html!>
    <div class="tema"></div>
    Этот текст после того как ты нажмёшь на кнопку станет белым<br>соотвественно фон станет ЧЁРНЫМ
    [/code]
    Если несложно то пожалуйста можете написать для кода JavaScript код
    [small]заранее спасибо![/small]

    Ответить
    • Alexander:

      Интересный вариант 🙂
      [img]https://atuin.ru/upload/1749612205_invert-1-min.png[/img][img]https://atuin.ru/upload/1749612218_invert-2-min.png[/img]

      [b]JS[/b] оставляйте такой как есть
      [b]HTML [/b] так, как вы написали, только [i]<div class="tema"></div>[/i] под [i]<body>[/i]
      [b]CSS[/b]:
      [code].tema {
      position: fixed;
      top: 0px;
      left: 0px;
      right: 0px;
      bottom: 0px;
      backdrop-filter: invert(0);
      transition: all 5s ease;
      pointer-events: none;
      z-index: 99999999;
      }
      body.dark .tema {
      backdrop-filter: invert(100);
      }[/code]
      И дополнительно можно делать корректировки, например на фото:
      [code]body.dark img {
      filter: invert(100);
      } [/code]

      Ответить
  • Вова:

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

    Ответить
    • Alexander:

      Скрипт запомниает же нажатие.

      Ответить
  • Roudeep:

    Спасибо большое вам за ваши скрипты это очень удобно я добавил снег в [url="https://roudeep.com/"]ссылка[/url] ! [b]Bы супер ребята [/b]

    Ответить
  • Иван:

    Откуда взялся theme в getItem('theme')?

    Ответить
    • Alexander:

      Это название ключа, можно [i]tema [/i]написать везде, если так больше нравится.

      Ответить