Как сделать случайный фон без повтора?

Помогите реализовать следующее:

Есть сетка html (grid)
<div class="grid">
	<div class="item"></div>
	<div class="item"></div>
	<div class="item"></div>
	<div class="item"></div>
	<div class="item"></div>
	<div class="item"></div>
	<div class="item"></div>
	<div class="item"></div>
</div>

Тут сетка

Как с помощью javascript (или jQuery) сделать каждому элементу свой background - рандомно, и чтоб не повторялось. На скрине то, что мне нужно.

5d128e336494c465221476.png
  • Вопрос задан
  • 315 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const colors = [
  'red', 'blue', 'magenta', 'green', 'yellow',
  'aqua', 'brown', 'silver', 'lime'
];

for (let i = colors.length; --i > 0;) {
  const j = Math.random() * (i + 1) | 0;
  [ colors[i], colors[j] ] = [ colors[j], colors[i] ];
}

document.querySelectorAll('.item').forEach((n, i) => {
  n.style.backgroundColor = colors[i];
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы