Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Скрипт: при наведении меняем цвет на один из заданных (https://javascript.ru/forum/css-html/69089-skript-pri-navedenii-menyaem-cvet-na-odin-iz-zadannykh.html)

Quark_ 29.05.2017 11:09

Скрипт: при наведении меняем цвет на один из заданных
 
Нужен скрипт, чтобы при наведении на div его цвет менялся на любой из заданных (будет 6-8 значений) в скрипте. Примерно так, как на сайте студии Лебедева.
В гугле не забанен, но пока не могу найти ничего подходящего...

ksa 29.05.2017 11:27

Цитата:

Сообщение от Quark_
В гугле не забанен, но пока не могу найти ничего подходящего...

Ну как так-то!

Quark_ 29.05.2017 12:20

Цитата:

Сообщение от ksa (Сообщение 453758)

Было такое, и что там в топ-10 есть полезного?

ksa 29.05.2017 13:17

Цитата:

Сообщение от Quark_
и что там в топ-10 есть полезного?

Если ты не нашел там полезного - тебе в раздел "Работа"...

j0hnik 30.05.2017 18:26

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

рони 30.05.2017 19:59

j0hnik,
а если при каждом наведении, новый цвет из заданных? :)

j0hnik 30.05.2017 20:31

Цитата:

Сообщение от рони (Сообщение 453864)
j0hnik,
а если при каждом наведении, новый цвет из заданных? :)

Согласен с вами
<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.round(Math.random()*(color.length-1));
		if (rand2 === rand) {this.style.backgroundColor = color[++rand];}
		else {this.style.backgroundColor = color[rand];}
		rand2 = rand;
	};
</script>
</body>

j0hnik 30.05.2017 20:32

а можно и условие в условии пока не будет отличаться! но это первое что в голову пришло!

рони 30.05.2017 20:50

j0hnik,
строки 10 и 11 не айс!!!

j0hnik 30.05.2017 23:01

<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;
			do {
				rand = Math.floor(Math.random() * color.length);
				this.style.backgroundColor = color[rand];
			} while (rand == rand2);
			rand2 = rand;
		};
</script>
</body>

Ну теперь то идеально? ;)


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