@stockbrains

Как реализовать цикл в этой ситуации?

Есть такой код:

let arr = ['blue', 'green', 'red'];
let i = 0;
let div = document.querySelector('.div');
div.addEventListener('click', function(){
  div.style.backgroundColor = arr[i];
  i++;
});


При клике на элемент, данный код меняет цвета в блоке, но как сделать чтоб цвета менялись постоянно? То есть я кликнул раз - цвет голубой, ещё раз кликнул - зеленый, третий раз кликнул - красный и всё, а надо чтобы он как бы вернулся в начало и при четвертом клике показал опять голубой ну и так далее. Как это сделать?
  • Вопрос задан
  • 74 просмотра
Решения вопроса 2
sniggering_deus
@sniggering_deus Куратор тега JavaScript
I will live forever in the flame of your eyes.
const element = document.querySelector('.element');
const colors = ['blue', 'green', 'red'];
let i = 0;

const bgColor = function() {
element.style.background = colors[++i % colors.length];
};

element.addEventListener("click", bgColor);


Ответ написан
@twoone
Можно реализовать бесконечный ротатор на основе генераторов.

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы