Как вывести звезда?

У меня имеется такой блок <span rating></span> Сейчас у нас просто серая звезда, но если добавить к ней класс check, то будет жёлтая. Так вот, у меня есть js const, в ней я указал просто 4 и как мне вывести теперь 4 жёлтых звезды и одна серая? Как мне так рассчитать?


Ответы (1 шт):

Автор решения: Алексей Шиманский

const count = 4;
document.body.innerHTML = '<span class="rating check"></span>'.repeat(count) + '<span class="rating"></span>';
span {
  display: inline-block;
  width: 40px;
  height: 40px;
  border: 1px solid black;
  margin: 10px;
}

.rating {
  background: grey
}

.rating.check {
  background: yellow;
}


когда напишу const 1, то будет 1 жёлтая и 1 серая, а нужно 1 желтая и 4 серых. Всего же 5 звезд –

const allStarsCount = 5;
const yellowStarsCount = 4;
const greyStarsCount = allStarsCount - yellowStarsCount;
document.body.innerHTML = '<span class="rating check"></span>'.repeat(yellowStarsCount) + '<span class="rating"></span>'.repeat(greyStarsCount);
span {
  display: inline-block;
  width: 40px;
  height: 40px;
  border: 1px solid black;
  margin: 10px;
}

.rating {
  background: grey
}

.rating.check {
  background: yellow;
}

→ Ссылка