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

问题描述:

可能重复:
Random Color generator in Javascript如何使用JavaScript随机生成HTML十六进制颜色代码?

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

'#'+(Math.random()*0xFFFFFF<<0).toString(16); 
+0

谁不喜欢速记方式? :) – pimvdb 2011-02-23 15:38:43

+8

请注意,此方法也输出错误的颜色代码:'>'#'+(。001 * 0xffffff '#4189'' – Scheintod 2016-01-06 14:21:42

+3

我不喜欢速记方法。一个无聊的方式会让人更清楚地知道发生了什么。如果我自己看到这些代码,将其与其明确的目的联系起来需要很长时间。 – JonathanHayward 2016-03-26 21:51:14

博客文章Random hex color code generator in JavaScript中有多种方法。你需要用零垫当随机值小于0×100000,所以这里的正确版本:

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

与随机十六进制数字替换每个六个0 S,所以它肯定有一个完整落得六位有效颜色值。

+1

这是一直在生成有效的HTML代码的地方 – Peshal 2014-01-04 18:27:16

+0

我可以知道为什么您使用16777215号码... – bvmCoder 2016-10-31 08:18:53

+2

@dbgular 16777215是十六进制FFFFFF的十进制等效值,即最大RGB颜色值。 – 2016-10-31 13:38:24