JavaScript программирование → JS Функция для получения случайного цвета
Столкнулся с необходимостью получения случайного цвета в Java Script.
Задача была сделать логотип на сайте Антилебедева, как в оригинале.
Нашел одно решение, которое достойно говнокода.
Так же нашлось более изящное решение.
Ну, если нужен только HEX, то можно вот так:
Задача была сделать логотип на сайте Антилебедева, как в оригинале.
Нашел одно решение, которое достойно говнокода.
Так же нашлось более изящное решение.
// @format (hex|rgb|null) : Format to return, default is integer
function random_color(format)
{
var rint = Math.round(0xffffff * Math.random());
switch(format)
{
case 'hex':
return ('#0' + rint.toString(16)).replace(/^#0([0-9a-f]{6})$/i, '#$1');
break;
case 'rgb':
return 'rgb(' + (rint >> 16) + ',' + (rint >> 8 & 255) + ',' + (rint & 255) + ')';
break;
default:
return rint;
break;
}
}
function random_color(format)
{
var rint = Math.round(0xffffff * Math.random());
switch(format)
{
case 'hex':
return ('#0' + rint.toString(16)).replace(/^#0([0-9a-f]{6})$/i, '#$1');
break;
case 'rgb':
return 'rgb(' + (rint >> 16) + ',' + (rint >> 8 & 255) + ',' + (rint & 255) + ')';
break;
default:
return rint;
break;
}
}
Ну, если нужен только HEX, то можно вот так:
(Math.round(0xFFFFFF * Math.random()).toString(16) + "000000").replace(/([a-f0-9]{6}).+/, "#$1").toUpperCase();



