Ответ 1
'#'+(Math.random()*0xFFFFFF<<0).toString(16);
Возможный дубликат:
Случайный генератор цвета в Javascript
У меня есть некоторые данные, которые я хотел бы отображать в разных цветах, и я хочу генерировать цвета случайным образом, если это возможно. Как создать код цвета Hex с помощью JavaScript?
'#'+(Math.random()*0xFFFFFF<<0).toString(16);
В блоге есть множество методов Генератор случайных шестнадцатеричных цветовых кодов в JavaScript. Вероятно, это лучший вариант:
var randomColor = '#' + Math.floor(Math.random() * 16777215).toString(16);
В комментариях было указано, что вам нужно заполнить нулями, когда случайное значение меньше 0×100000
, поэтому здесь исправлена версия:
var randomColor = '#' + (Math.random() * 0xFFFFFF << 0).toString(16);
Для ясности также используется 0xFFFFFF
.
<ч/" >
После некоторого дополнительного тестирования (и чтения большего количества комментариев) я обнаружил, что даже это иногда приводит к недопустимому шестнадцатеричному значению. Я получил один из сценариев в конце комментариев для работы.
var randomColor = "#000000".replace(/0/g,function(){return (~~(Math.random()*16)).toString(16);});
Это заменяет каждую из шести 0
на случайную шестнадцатеричную цифру, поэтому она обязательно будет иметь полное шестизначное допустимое значение цвета.