Как сделать, чтобы при наведении мышкой на элемент, его цвет менялся случайным образом каждый раз?

Как сделать, чтобы при наведении мышкой на элемент, его цвет менялся случайным образом каждый раз?
  • Вопрос задан
  • 429 просмотров
Решения вопроса 3
sergiks
@sergiks Куратор тега JavaScript
♬♬
Функция, меняющая цвет, всего в две строчки:
var randomColor = function(e){
  var r = () => Math.round(Math.random()*255);
  e.target.style.color = "rgb(" + [r(),r(),r()].join(',') + ")";
}


С jQuery её повесить, например, на заголовок вопроса тут:
$('H1.question__title').on('mouseover', randomColor);

Или на чистом JavaScript:
document.querySelector('h1.question__title')
  .addEventListener('mouseover', randomColor);
Ответ написан
Комментировать
@Bhudh
Только на днях для детишек развлекалку писал.
function pad(n){
	return n.length<2?'0'+n:n;
}
function rndHex(){
	var base = 16,
		resultNum = Math.floor(Math.random()*base*base).toString(base);
	return pad(resultNum);
}
function rndHexColor(){
	return'#'+rndHex()+rndHex()+rndHex();
}
function changeColor(){
	this .style.backgroundColor=rndHexColor();
}

document.getElementById('ID_of_element').addEventListener('mouseenter', changeColor);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@skepsikmod
Ну можно так. Вернет строку в hex. Вешаете на hover к элементу
function getColor() {
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.round(Math.random() * 15)];
}
return color;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект
22 нояб. 2024, в 03:54
1500 руб./за проект