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

Сообщение от j0hnik
Как вы производительность оцениваете?
если повторения не нужны, зачем их генерировать? скрипт будет "ждать" пока rand == rand2 - сервис https://jsperf.com/
<!DOCTYPE html>

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

</html>
Ответить с цитированием