我在stackoverflow上找到了这个颜色生成器:
Math.random()*0xFFFFFF<<0
它工作正常.唯一的问题是我想生成随机颜色,但只有不同的灰色阴影.
我不知道如何才能实现这样的目标.
Bri*_*n S 12
var value = Math.random() * 0xFF | 0;
var grayscale = (value << 16) | (value << 8) | value;
var color = '#' + grayscale.toString(16);
Run Code Online (Sandbox Code Playgroud)
color将是一个随机的灰度十六进制颜色值,适用于例如element.style属性.
注意:有几种方法可以将随机浮点数强制转换为整数.x | 0据我所知,按位OR()通常是最快的; floor函数(Math.floor(x))的速度大致相同,但只能截断正数(你必须使用Math.ceil(x)负数).对于需要超过32位表示的数字,按位运算符将无法按预期工作,但Math.random() * 0xFF始终在该范围内[0,255).
| 归档时间: |
|
| 查看次数: |
2984 次 |
| 最近记录: |