Задать вопрос
@Sirius077

Как сгенерировать несколько свойств в одной переменной?

Есть мини-программа которая генерирует несколько цветов(https://codepen.io/Sirius1505/pen/yLVQOQm). Но есть проблема, мне нужно сгенерировать каждому блоку разные цвета. В коде у всех одинаковые цвета. Как можно сделать это с помощью одной переменной(randomColor в коде)?
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Seasle
@Seasle Куратор тега JavaScript
Базово так:
-let randomColor = '#' + Math.floor(Math.random()*16777215).toString(16);
-button1.style.backgroundColor = randomColor;
-button2.style.backgroundColor = randomColor;
-button3.style.backgroundColor = randomColor;
-button4.style.backgroundColor = randomColor;
+let randomColor = () => '#' + Math.floor(Math.random()*16777215).toString(16);
+button1.style.backgroundColor = randomColor();
+button2.style.backgroundColor = randomColor();
+button3.style.backgroundColor = randomColor();
+button4.style.backgroundColor = randomColor();

Но лучше так:
const buttons = document.querySelectorAll('[id^="color"]');

const randomNumber = (max) => Math.round(Math.random() * max);

const generateColor = () => `hsl(${randomNumber(360)}, ${randomNumber(100)}%, ${randomNumber(100)}%)`;

for (const button of buttons) {
	button.style.setProperty('background-color', generateColor());
}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 10:02
7000 руб./за проект
18 дек. 2024, в 09:56
8000 руб./за проект
18 дек. 2024, в 04:59
1000 руб./в час