Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Рандомный выбор цвета (https://javascript.ru/forum/misc/74403-randomnyjj-vybor-cveta.html)

Romfo 07.07.2018 18:25

Рандомный выбор цвета
 
Здравствуйте, помогите плиз.

нужно чтоб цвета выводились рандомно

<html>
<head>
    <meta charset="utf-8">
   
    </head>
   <style>#slider{width: 100%; height: 100%;}</style>

	<body>

	<div id="slider"></div>

	<script>
var vremya=prompt("Какую задать скорость 1000=1секунда",1000)
	window.onload = function () {

	    var obj = {

	        colors: [],

	        position: 0,

	        get color() {

	            if (this.position == this.colors.length) this.position = 0;

	            return this.colors[this.position ++];

	        },

	        set color(arg) {

	            this.colors = arg;

	        }

	    };

	    obj.color = ['red', 'green', 'blue', 'yellow', 'black'];

	    setInterval(function () {

	        document.getElementById('slider').style.backgroundColor = obj.color;

	    }, vremya);

	};

	</script>

	</body>
</html>

j0hnik 07.07.2018 18:37

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
<script>
		var color = ['red', 'green', 'blue', 'yellow', 'black'];
		(bgc =()=> {
			document.body.style.backgroundColor= color[Math.floor(Math.random()*color.length)];
			setTimeout(bgc, 1000);
		})();
</script>
</body>
</html>

j0hnik 07.07.2018 18:40

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<script>
		var color = ['red', 'green', 'blue', 'yellow', 'black'], x;
		(bgc =()=> {
				do rnd = Math.floor(Math.random()*color.length);
				while(rnd == x);
				x = rnd;
			document.body.style.backgroundColor = color[rnd];
			setTimeout(bgc, 2000);
		})();
	</script>
</body>
</html>


если нужно без повторов

Romfo 07.07.2018 18:52

Спасибо!!!

рони 07.07.2018 19:43

Romfo,
строки 24 - 25 заменить на
this.position =  Math.random() * this.colors.length|0;
                return this.colors[this.position];

Romfo 07.07.2018 20:06

спасибо!


Часовой пояс GMT +3, время: 09:41.