2011-02-23 75 views

回答

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

誰不喜歡速記方式? :) – pimvdb 2011-02-23 15:38:43

+8

請注意,此方法也輸出錯誤的顏色代碼:'>'#'+(。001 * 0xffffff << 0).toString(16) - >'#4189'' – Scheintod 2016-01-06 14:21:42

+3

我不喜歡速記方法。一個無聊的方式會讓人更清楚地知道發生了什麼。如果我自己看到這些代碼,將其與其明確的目的聯繫起來需要很長時間。 – JonathanHayward 2016-03-26 21:51:14

47

博客文章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

相關問題