给出以下代码来生成随机颜色(credit):
'#'+((1<<24)*(Math.random()+1)|0).toString(16).substr(1)
可以在此代码中添加哪些条件,以使其仅产生明亮的颜色,但比纯白色#ffffff
更暗。
分配这些颜色的元素需要在深色背景上显示(#111
)。
答案 0 :(得分:2)
不是弄乱按位左移,而是分别生成每个数字可能更容易,如下所示:
var color = '#';
for (var i = 0; i < 3; i+=1) {
var first = Math.floor((Math.random()*8+8)).toString(16);
var second = Math.floor((Math.random()*16)).toString(16);
color = color + first + second;
}
如果要精确调整颜色的亮/暗程度,请更改Math.random()*8+8
以调整每个R,G,B值中的第一个数字。就目前而言,这将产生从#808080到#ffffff的任何东西。如果您想从#a0a0a0到#ffffff,请更改*10+6
- 只要*x+y
和x
加起来为16,它就可以是y
形式的任何内容。< / p>