JavaScript распознает случайный выбор из массива - PullRequest
0 голосов
/ 24 августа 2018

У меня есть массив, который случайным образом выбирает один из трех цветов при каждом запуске функции.Как я могу заставить Javascript идентифицировать случайный выбор цвета в качестве одной и той же переменной каждый раз, когда запускается функция.

Я не совсем уверен, с чего начать, так вот что у меня есть:

var colors = ['#ce0e0e', '#079b0c', '#3e3fd6'];

function changeColor(){
 myDiv.style.backgroundColor = colors[Math.floor(Math.random() * colors.length)];
}

Нужно ли добавить идентификатор в div, а затем сделать что-то вроде:

var randomColor = document.getElementById('colorAtRandom');

1 Ответ

0 голосов
/ 24 августа 2018

вы можете использовать оператор while, который проверяет, совпадает ли выбранный случайный цвет с используемым в данный момент. Как только это правда, вы можете снова установить цвет на случайный цвет. Это будет происходить до тех пор, пока не будет выбран цвет, который еще не используется.

Это должно работать.

var colors = ['#ce0e0e', '#079b0c', '#3e3fd6'];

function changeColor(){
  var randomColor = colors[Math.floor(Math.random() * colors.length)];
  while (myDiv.style.backgroundColor == randomColor) //if color is alredy being used
	  randomColor = colors[Math.floor(Math.random() * colors.length)]; // get a new color
	
  //if new color is found set color
  myDiv.style.backgroundColor = randomColor;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...