javascript - 随机十六进制生成器(仅灰色)

标签 javascript

我在 stackoverflow 上找到了这个颜色生成器:
Math.random()*0xFFFFFF<<0
它工作正常。唯一的问题是我想生成随机颜色,但只有不同的灰色阴影。

我不知道我怎么能实现这样的目标。

最佳答案

var value = Math.random() * 0xFF | 0;
var grayscale = (value << 16) | (value << 8) | value;
var color = '#' + grayscale.toString(16);
color将是一个随机的灰度十六进制颜色值,适用于例如 element.style特性。

注意:有几种方法可以将随机浮点数强制转换为整数。据我所知,按位或(x | 0)通常是最快的;下限函数 ( Math.floor(x) ) 的速度大致相同,但只 chop 正数(对于负数,您必须使用 Math.ceil(x))。对于需要超过 32 位来表示的数字,按位运算符将无法按预期工作,但 Math.random() * 0xFF将始终在 [0,255) 范围内.

关于javascript - 随机十六进制生成器(仅灰色),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22692588/

相关文章:

javascript - 如何在此 Angular 2 样本上使用 HTML5 模式?

javascript - Phonegap Android 捏合缩放

javascript - 您如何访问 'Select All' 复选框?

php - 使用 php 和 javascript 时在复选框名称中使用方括号?

javascript - 来自 API 的 Vue 多选选项

javascript - 从另一个js文件获取数组条目

javascript - 给定对象在对象中的位置,如何修改对象属性

javascript - 进行ajax调用并在qtip中显示内容

javascript - 简单的javascript原型(prototype)问题

javascript - Nodejs Express MongoClient 集合检索