Показать сообщение отдельно
  #20 (permalink)  
Старый 31.05.2017, 03:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

Сообщение от j0hnik
почему?
потому что когда rand2 === rand и rand = 6 то ++rand будет 7 --- а элемента с таким индексом нет

исправленный вариант

<head>
  <meta charset="utf-8">
</head>
<body>
  <div id="id" style="display: block; width: 200px; height: 200px; border: 1px solid grey;"></div>
  <script>
  var rand2;
    document.getElementById("id").onmouseover = function(){
    var color = ['red','green','blue','orange','yellow','violet','cyan']
    var rand = Math.floor(Math.random()*color.length);
    if (rand2 === rand) rand = ++rand%color.length;
    this.style.backgroundColor = color[rand];
    rand2 = rand;
  };
</script>
</body>

Последний раз редактировалось рони, 31.05.2017 в 03:35.
Ответить с цитированием