Как исправить CSS переключение цвета фона? - PullRequest
1 голос
/ 09 апреля 2019

Я пытаюсь изменить цвет фона тела, добавив к нему класс «радуга», используя JavaScript, переключаемый кнопкой.

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

<!DOCTYPE html>
<html>
<head>
<style>
    @keyframes bgcolor {
        0% {
            background-color: #45a3e5
        }

        30% {
            background-color: #66bf39
        }

        60% {
            background-color: #eb670f
        }

        90% {
            background-color: #f35
        }

        100% {
            background-color: #864cbf
        }
    }

    button {
        color: black;
        font-size: 48px;
        font-style: italic;
        font-family: "Comic Sans MS", cursive, sans-serif;
        text-align: center;
        padding: 20px;
        border-radius: 50px;
        background-color: gray;
    }

    .rainbow {
        -webkit-animation: bgcolor 20s infinite;
        animation: bgcolor 10s infinite;
        -webkit-animation-direction: alternate;
        animation-direction: alternate;
    }
</style>
<head>
<body id="body">
<button id="button">hello world</button>
<script>
function rainbowTime() {
        body.classList.toggle('rainbow');
    }
    button.onclick = rainbowTime;
</body>
</html>

Когда кнопка нажата, фон должен изменить цвет, как это происходит, если я отредактирую HTML и добавлю класс "rainbow".Если бы я мог помочь, это было бы здорово!

Ответы [ 2 ]

1 голос
/ 09 апреля 2019

В вашем коде вы не закрываете свои теги, вы должны закрыть тег head и скрипт script

 <!DOCTYPE html>
 <html>
<head>
<style>
   @keyframes bgcolor {
      0% {
          background-color: #45a3e5
      }

    30% {
        background-color: #66bf39
    }

    60% {
        background-color: #eb670f
    }

    90% {
        background-color: #f35
    }

    100% {
        background-color: #864cbf
    }
}

button {
    color: black;
    font-size: 48px;
    font-style: italic;
    font-family: "Comic Sans MS", cursive, sans-serif;
    text-align: center;
    padding: 20px;
    border-radius: 50px;
    background-color: gray;
}

.rainbow {
    -webkit-animation: bgcolor 20s infinite;
    animation: bgcolor 10s infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate;
}
</style>
</head>
<body id="body">
<button id="button">hello world</button>
 </body>
  </html>
  <script>
    function rainbowTime() {
      body.classList.toggle('rainbow');
    }
     button.onclick = rainbowTime;
  </script>
1 голос
/ 09 апреля 2019

У вас есть несколько закрытых тегов.

head не было закрыто. script не было закрыто.

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

<!DOCTYPE html>
<html>

<head>
  <style>
    @keyframes bgcolor {
      0% {
        background-color: #45a3e5
      }
      30% {
        background-color: #66bf39
      }
      60% {
        background-color: #eb670f
      }
      90% {
        background-color: #f35
      }
      100% {
        background-color: #864cbf
      }
    }
    
    button {
      color: black;
      font-size: 48px;
      font-style: italic;
      font-family: "Comic Sans MS", cursive, sans-serif;
      text-align: center;
      padding: 20px;
      border-radius: 50px;
      background-color: gray;
    }
    
    .rainbow {
      -webkit-animation: bgcolor 20s infinite;
      animation: bgcolor 10s infinite;
      -webkit-animation-direction: alternate;
      animation-direction: alternate;
    }
  </style>

</head>

<body id="body">
  <button id="button">hello world</button>
  <script>
    function rainbowTime() {
      body.classList.toggle('rainbow');
    }
    button.onclick = rainbowTime;
  </script>
</body>

</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...