JavaScript中的选择性随机颜色

时间:2014-12-08 20:34:16

标签: javascript colors

给出以下代码来生成随机颜色(credit):

'#'+((1<<24)*(Math.random()+1)|0).toString(16).substr(1)

可以在此代码中添加哪些条件,以使其仅产生明亮的颜色,但比纯白色#ffffff更暗。

分配这些颜色的元素需要在深色背景上显示(#111)。

1 个答案:

答案 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+yx加起来为16,它就可以是y形式的任何内容。< / p>