Я делаю цветную игру через курс, который генерирует 6 квадратов со случайными цветами.Когда вы нажимаете на квадрат, соответствующий целевому цвету, вы выигрываете игру.
Вот ссылка на то, как игра должна работать с использованием RGB:
https://jsfiddle.net/jdwrgbh0/
Вместо этого я использую значения HSL.
Вот мой код, использующий HSL:
https://jsfiddle.net/fh7boykd/
(единственное отличие - этот код для генерации случайных цветов)
function randomColor() {
var h = Math.floor(Math.random() * 361);
var s = Math.floor(Math.random() * 101);
var l = Math.floor(Math.random() * 101);
return "hsl(" + h + ', ' + s + '%' + ', ' + l + '%' + ")";
}
Несмотря на то, что я использовал вышеописанную функцию для генерации значений HSL, background-color
квадратов по-прежнему показывает значения RGB вместо значений HSL, и поэтому я не могу выиграть игру, потому что целевой цветникогда не показывается. Я хочу, чтобы цвет квадратов отображался background-color
в HSL, а не в RGB. Вышеприведенная randomColor
функция выглядит нормально, и, проверяя ее в консоли, она генерирует случайный цвет после вызовакаждый раз.
Вот изображение консоли, когда я запускаю код.background-color
в RGB, а не в HSL.
Я думаю, что проблема может быть связана с этой функцией:
function changeColors(color){
//loop through all squares
for(var i = 0; i < squares.length; i++){
//change each color to match given color
squares[i].style.background = color;
}
}
Этот код меняет цвет каждого квадрата.Когда я смотрю на консоль браузера, она показывает значения RGB вместо значений HSL.Как заставить squares[i].style.background = color;
использовать HSL вместо RGB?