Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中按数字随机化颜色_Javascript - Fatal编程技术网

在javascript中按数字随机化颜色

在javascript中按数字随机化颜色,javascript,Javascript,我想在javascript中根据给定id(可以是从0开始的任何数字)对颜色进行随机化。 例如: //number is the id I want to give the function function getRandomColor(number) { var letters = '0123456789ABCDEF'; var color = '#'; var generatedNumber = Math.floor(Math.random() * 16);

我想在javascript中根据给定id(可以是从0开始的任何数字)对颜色进行随机化。 例如:

//number is the id I want to give the function
    function getRandomColor(number) {
    var letters = '0123456789ABCDEF';
    var color = '#';
    var generatedNumber = Math.floor(Math.random() * 16);
    var otherNumber = //something to unite generatedNumber and number(the given id) in a valid number
        for (var i = 0; i < 6; i++ ) {
            color += letters[otherNumber];
        }
        return color;
    }
//number是我想要给函数的id
函数getRandomColor(数字){
变量字母='0123456789ABCDEF';
var color='#';
var generatedNumber=Math.floor(Math.random()*16);
var otherNumber=//将generatedNumber和number(给定id)合并为有效数字的内容
对于(变量i=0;i<6;i++){
颜色+=字母[其他数字];
}
返回颜色;
}

我该怎么做呢?

您需要在
for
循环中移动随机部分

函数getRandomColor(数字){ 变量字母='0123456789ABCDEF', 颜色='#', 生成编号, 我 对于(i=0;i<6;i++){ generatedNumber=Math.floor(Math.random()*16); 颜色+=字母[generatedNumber]; } 返回颜色; }
log(getRandomColor())您需要在
for
循环中移动随机部分

函数getRandomColor(数字){ 变量字母='0123456789ABCDEF', 颜色='#', 生成编号, 我 对于(i=0;i<6;i++){ generatedNumber=Math.floor(Math.random()*16); 颜色+=字母[generatedNumber]; } 返回颜色; }
log(getRandomColor())根据我上面的评论,最好在中操纵颜色,以便获得粗体颜色。诀窍是在随机化色调和饱和度的同时保持恒定的亮度

对于色调和饱和度的任何组合,100%亮度始终为白色,0%亮度始终为黑色。颜色的最强印象将在中间显示亮度值,即50%。

您可以按如下方式执行此操作:

var h=Math.floor(Math.random()*360)//色调的测量单位为0-359度
var s=Math.floor(Math.random()*256)//饱和度是0-255之间的值
$(“#theElement”).css(“背景色”、“hsla(“+h+”、“+s+”%、50%、1)”)
#元素{
宽度:100px;
高度:100px;
边框:1px纯黑;
}

根据我上面的评论,最好在中操纵颜色,以便获得粗体颜色。诀窍是在随机化色调和饱和度的同时保持恒定的亮度

对于色调和饱和度的任何组合,100%亮度始终为白色,0%亮度始终为黑色。颜色的最强印象将在中间显示亮度值,即50%。

您可以按如下方式执行此操作:

var h=Math.floor(Math.random()*360)//色调的测量单位为0-359度
var s=Math.floor(Math.random()*256)//饱和度是0-255之间的值
$(“#theElement”).css(“背景色”、“hsla(“+h+”、“+s+”%、50%、1)”)
#元素{
宽度:100px;
高度:100px;
边框:1px纯黑;
}

var可能性=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'];
var newColor='';
var x=1;
变量z=''
做{
z=数学楼层((数学随机()*16)+1);
如果(可能性[z]!==未定义){
新颜色=新颜色+可能性[z];
x++;
}
}
而(x
var可能性=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'];
var newColor='';
var x=1;
变量z=''
做{
z=数学楼层((数学随机()*16)+1);
如果(可能性[z]!==未定义){
新颜色=新颜色+可能性[z];
x++;
}
}

我不明白你所说的“给定id”是什么意思,颜色是完全随机的吗?如果不是,你给出的参数是什么影响结果?你能澄清你显示的代码中到底有什么不起作用吗?参数是一个数字。颜色必须使用参数随机。但是使用它的方式是什么?目的是什么?你能澄清你的目标是什么吗=>这个数字会对结果产生怎样的影响?你可能会发现,使用一种半随机算法会比使用RGB在不同的颜色空间中工作得更好。只需选择随机RGB颜色,你最终会得到许多深色的、外观相似的颜色。如果你选择随机数字作为HSL颜色的H和S部分,你就可以“最终将选择“更好”的颜色。最终是对图形中的同一元素使用相同的颜色,使用svg和图例(与之无关,但在同一页中)进行绘制。我不理解您所说的“按给定id”是什么意思”,颜色是完全随机的吗?如果不是,你给出的参数是什么影响结果?你能澄清你显示的代码中到底有什么不起作用吗?参数是一个数字。颜色必须使用参数随机。但是使用它的方式是什么?目的是什么?你能澄清你的目标是什么吗=>这个数字会对结果产生怎样的影响?你可能会发现,使用一种半随机算法会比使用RGB在不同的颜色空间中工作得更好。只需选择随机RGB颜色,你最终会得到许多深色的、外观相似的颜色。如果你选择随机数字作为HSL颜色的H和S部分,你就可以将以“更好”的颜色选择结束。目的是使用svg和图例(与svg无关,但在同一页面中)对图形中的同一元素使用相同的颜色这是一个不考虑给定数字的随机生成器,它究竟应该如何考虑这个数字?你想在这里实现什么?什么是<代码>编号<代码>?你所显示的代码完全没有数字作为参数,我想用参数号来随机化一个指针,最好使用string.charAt
而不是
index
。是的,它在ES3之后受支持,所以应该
var possibilities = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'];
var newColor = '';
var x = 1;
var z = ''
do { 
z = Math.floor((Math.random() * 16) + 1);
    if (possibilities[z] !== undefined){
      newColor = newColor + possibilities[z]; 
      x++;
    }
}
while (x<7);
console.log("#"+newColor)