Итак, я пытаюсь создать простую игру с угадыванием цвета для практики манипуляции с DOM. У меня есть генератор случайных чисел, который дает мне значения для красного, зеленого и синего от 0 до 255, а затем назначает их переменной с именем randomColor со значением объединенной строки, которая содержит рандомизированные значения красного, зеленого и синего цветов.
Проблема, которую я не могу решить, состоит в том, почему назначение переменной randomColor в качестве свойства backgroundColor для квадрата в HTML не вступает в силу. Консоль не регистрирует никаких ошибок, но если я console.log квадратов backgroundColor, это всегда пустая строка. Как переназначить backgroundColor квадратов строке RGB, содержащейся в randomColor?
var squares = document.querySelectorAll(".square");
function getRandomInt(max) {
return Math.floor(Math.random() * Math.floor(max));
}
for (var i=0; i<squares.length; i++) {
let red = getRandomInt(256);
let green = getRandomInt(256);
let blue = getRandomInt(256);
let randomColor = "rgb("+red+", "+green+", "+blue+");";
squares[i].style.backgroundColor = randomColor;
}
html {
box-sizing: border-box;
}
body {
background-color: #222222;
margin: 0;
padding: 0;
}
h2 {
margin: 2% 0;
}
.container {
max-width: 80%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
}
.top {
background-color: white;
margin-top: 0;
padding-top: 0;
}
.stripe {
padding: 0;
background-color: steelblue;
color: white;
}
.stripe p {
margin: 0 auto;
padding-top: 3%;
}
.square {
display: inline-block;
width: 30%;
padding-bottom: 33%;
margin: 2px;
border-radius: 5%;
background-color: magenta;
}
.heading {
font-size: 2em;
margin-top: 0;
padding: 2% 0;
}
.text-center {
text-align: center;
}
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<title>The Great RGB Guessing Game</title>
<link rel="stylesheet" href="syles.css" type="text/css" />
</head>
<body>
<div class="top">
<h1 class="heading text-center">The Great<br><span>Color</span><br>Guessing Game</h1>
<div class="stripe">
<div class="container">
<h2>Reset</h2>
<p>Try again</p>
<h2><span>Easy</span> | <span>Hard</span></h2>
</div><!-- /.container -->
</div><!-- /.stripe -->
</div>
<div class="container">
<div class="square" id="square1"></div>
<div class="square" id="square2"></div>
<div class="square" id="square3"></div>
<div class="square" id="square4"></div>
<div class="square" id="square5"></div>
<div class="square" id="square6"></div>
</div>
<script type="text/javascript" src="color-game.js"></script>
</body>
</html>