@plot_about_nothing

Как сделать так, чтобы менялся цвет сайта js?

Пытаюсь сделать так, чтобы в проекте была кнопка, которая меняет цвет сайта как в этом видео
https://www.youtube.com/watch?v=JOLokMalKyU

Сделал всё точно так же как и он, перепроверил html, css и всё равно не работает. Что может быть не так?
Использую препроцессор SASS

JS:

function darkMode(){
    const body = document.body
    const wasDarkmode = localStorage.getItem('darkmode') === 'true'

    localStorage.setItem('darkmode', !wasDarkmode)
    body.classList.toggle('.dark-mode', !wasDarkmode)
}


btn = document.querySelector('.button-z')

btn.addEventListener('click', darkMode)


HTML:
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Procrastinate.</title>
  <link rel="stylesheet" href="css/style.css">
  <link rel="icon" type="image" href="https://code.s3.yandex.net/web-code/js-favicon.ico">
</head>
<body>
  <div class="header">
    <p class="logo">Procrastinate.</p>
    <div class="button">Ещё идея</div>
    <div class="button-z">Тема</div>
  </div>

  <img class="image" src="https://code.s3.yandex.net/web-code/procrastinate/9.png">

  <div class="advice">
    <span>Не писать код, а</span>
    <span class="phrase">что бы поделать?</span>
    <img class="cursor" src="https://code.s3.yandex.net/web-code/cursor.gif">
  </div>

  <p class="footer">© 2023 Сделал Мистер Глебистер</p>
  <script src="https://code.s3.yandex.net/web-code/smoothly.js"></script>
  <script src="js/script.js"></script>
</body>
</html>


CSS:
@import url("null.css");

@font-face {
    src: url(https://code.s3.yandex.net/web-code/fonts/SuisseIntl-Book.woff);
    font-family: 'Suisse';
    font-weight: normal;
  }
  
  @font-face {
    src: url(https://code.s3.yandex.net/web-code/fonts/SuisseIntl-Bold.woff
  );
    font-family: 'Suisse';
    font-weight: bold;
  }
  
  html {
    height: 100%;
    margin: 0;
    -webkit-font-smoothing: antialiased;
  }
  
  body {
    background-color: #323131;
    color: white;
    position: relative;
    max-width: 540px;
    min-height: 100%;
    margin: 0 auto;
    font-family: 'Suisse';
    box-sizing: border-box;
    padding: 36px;
    transition: all .3s ease;
  }


  
  .dark-mode{
    color: pink;
    background-color: rgb(212, 212, 142);
  }
  
  .header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
  }
  
  .logo {
    font-weight: bold;
    font-size: 24px;
    margin: 0;
  }
  
  .button {
    width: 130px;
    height: 40px;
    padding-top: 10px;
    box-sizing: border-box;
    border: 1px solid white;
    text-align: center;
    font-size: 14px;
    cursor: pointer;
    transition: opacity 0.2s;
  }
  
  .button-z {
    width: 130px;
    height: 40px;
    padding-top: 10px;
    box-sizing: border-box;
    border: 1px solid white;
    text-align: center;
    font-size: 14px;
    cursor: pointer;
    transition: opacity 0.2s;
  }

  .button:hover {
    opacity: 0.5;
  }
  
  .button-z:hover {
    opacity: 0.5;
  }
  .image {
    width: 80%;
    display: block;
    margin: 60px auto 50px;
  }
  
  .advice {
    font-size: 42px;
    font-weight: bold;
    line-height: 1.1;
    margin-bottom: 70px;
  }
  
  .footer {
    font-size: 16px;
    margin: 0;
    position: absolute;
    bottom: 36px;
  }
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
smilingcheater
@smilingcheater
body.classList.toggle('.dark-mode', !wasDarkmode)
Точку в первом параметре уберите. Тут имя класса надо писать, а не селектор.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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