Learn Basic Debugging by Building a Random Background Color Changer - Step 8

Tell us what’s happening:

Step 8
CamperBot has finished building out their random background color changer. However, when they click the button, the background color does not change.

Your code so far

<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Build a random background color changer</title>
    <link rel="stylesheet" href="./styles.css" />
    <h1>Random Background Color changer</h1>

      <section class="bg-information-container">
        <p>Hex Code: <span id="bg-hex-code">#110815</span></p>

      <button class="btn" id="btn">Change Background Color</button>
    <script src="./script.js"></script>
/* file: styles.css */
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;

:root {
  --yellow: #f1be32;
  --golden-yellow: #feac32;
  --dark-purple: #110815;
  --light-grey: #efefef;

body {
  background-color: var(--dark-purple);
  color: var(--light-grey);
  text-align: center;

.bg-information-container {
  margin: 15px 0 25px;
  font-size: 1.2rem;

.btn {
  cursor: pointer;
  padding: 10px;
  margin: 10px;
  color: var(--dark-purple);
  background-color: var(--golden-yellow);
  background-image: linear-gradient(#fecc4c, #ffac33);
  border-color: var(--golden-yellow);
  border-width: 3px;

.btn:hover {
  background-image: linear-gradient(#ffcc4c, #f89808);

/* file: script.js */
const darkColorsArr = [

function getRandomIndex() {
  const randomIndex = Math.floor(darkColorsArr.length * Math.random());
  return randomIndex;

const body = document.querySelector("body");
const bgHexCodeSpanElement = document.querySelector("#bg-hex-code");

function changeBackgroundColor() {
  const color = darkColorsArr[getRandomIndex()];

  bgHexCodeSpanElement.innerText = color;
  body.style.backgroundColor = color;
const btn = document.querySelector("#btn");

// User Editable Region

btn.onclick = color;

// User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36

Challenge Information:

Learn Basic Debugging by Building a Random Background Color Changer - Step 8

Please Tell us what’s happening in your own words.

Learning to describe problems is hard, but it is an important part of learning how to code.

Also, the more you say, the more we can help!

solution redacted by moderator
I found it.


great you have found the solution, but please don’t post them in the forum. We are trying to keep the topics spoiler free.