下面是我的代码,显示所有类型的颜色,如深蓝色,浅蓝色,深粉色,浅粉色等.但我想使用JavaScript只获得浅色.可能吗?
function getRandomColor() {
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做?谢谢.
Ali*_*oid 19
你可以通过切断字符串来强制随机变为HEX中的高数字
function getRandomColor() {
var letters = 'BCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.floor(Math.random() * letters.length)];
}
return color;
}
Run Code Online (Sandbox Code Playgroud)
快速脏的方式
Kru*_*uga 14
您也可以使用HSL颜色.
HSL代表色调,饱和度和亮度 - 表示颜色的圆柱坐标表示.
HSL颜色值指定为:hsl(色调,饱和度,亮度).
色调是色轮上的度数(从0到360) - 0(或360)是红色,120是绿色,240是蓝色.饱和度是一个百分比值; 0%表示灰色阴影,100%表示全彩色.亮度也是一个百分比; 0%为黑色,100%为白色.
function getRandomColor() {
color = "hsl(" + Math.random() * 360 + ", 100%, 75%)";
return color;
}
Run Code Online (Sandbox Code Playgroud)
一个小改进:
function getRandomColor() {
return 'rgb(' +
(Math.floor(Math.random()*56)+200) + ', ' +
(Math.floor(Math.random()*56)+200) + ', ' +
(Math.floor(Math.random()*56)+200) +
')';
}
Run Code Online (Sandbox Code Playgroud)