如何使用 JavaScript 随机生成 HTML 十六进制颜色代码?

IT技术 javascript
2021-01-23 09:12:24

可能的重复:
Javascript 中的随机颜色生成器

我有一些数据想以不同的颜色显示,如果可能的话,我想随机生成颜色。如何使用 JavaScript 生成十六进制颜色代码?

2个回答

这将在边界内生成一个随机数并将其转换为十六进制。然后用零填充它,以便它始终是有效的六位十六进制代码。

'#'+(Math.random() * 0xFFFFFF << 0).toString(16).padStart(6, '0');
就像@Scheintod 所说的那样,这偶尔会产生错误的值。我刚得到#c5935
2021-03-25 09:12:24
请注意,此方法也会输出错误的颜色代码: > '#'+(.001*0xffffff<<0).toString(16) ---> '#4189'
2021-03-30 09:12:24
@adjenks 你的编辑是一个完全不同的答案。您应该将其作为自己的答案发布,而不是删除所有其他人代码的编辑。
2021-04-07 09:12:24
我使用然后它在某些时候显示一些错误。请使用这里接受的答案stackoverflow.com/questions/1484506/random-color-generator
2021-04-08 09:12:24
我不喜欢速记方式。一个无聊的普通方式会更清楚地了解正在发生的事情。如果我单独看到这段代码,我需要很长时间才能将它与其明确的目的联系起来。
2021-04-14 09:12:24

博客文章JavaScript 中的随机十六进制颜色代码生成器中提供了多种方法当随机值小于 时,您需要用零填充0×100000,因此这是正确的版本:

var randomColor = "#000000".replace(/0/g,function(){return (~~(Math.random()*16)).toString(16);});

这将0用随机的十六进制数字替换 6 个s 中的一个,因此最终肯定会得到一个完整的 6 位有效颜色值。

这是一直生成有效 HTML 代码的代码
2021-04-11 09:12:24