使用纯javascript的随机背景色生成器(无jquery)
使用纯javascript的随机背景色生成器(无jquery),javascript,Javascript,var颜色; 函数randomColor(){ color='#'+Math.random().toString(16).slice(2,8);//使用toString(16)将随机数转换为十六进制,然后切片使其成为6位数字。如fe2e4d或f4e22e }; var change=document.getElementById('color_change'); change.addEventListener('click',function(){ document.getElementById
var颜色;
函数randomColor(){
color='#'+Math.random().toString(16).slice(2,8);//使用toString(16)将随机数转换为十六进制,然后切片使其成为6位数字。如fe2e4d或f4e22e
};
var change=document.getElementById('color_change');
change.addEventListener('click',function(){
document.getElementById('random_background').style.backgroundColor=“color”;
});代码>
div{
宽度:300px;
高度:300px;
}
颜色更改
正如@Teemu在注释中所述,您正在将字符串设置为backgroundColor
属性,而不是设置Color
变量的实际值
这里有一个例子可以帮助您,不需要使用var颜色代码>
使您的randomColor()
函数直接返回值。然后在backgroundColor
属性中调用该函数,如下所示:
函数randomColor(){
返回“#”+Math.random().toString(16).slice(2,8);
};
var change=document.getElementById('color_change');
change.addEventListener('click',function(){
document.getElementById('random_background')。style.backgroundColor=randomColor();
});代码>
div{
宽度:300px;
高度:150像素;
}
颜色变化
“div”为空时没有高度
您应该将高度初始化为div
也要使用正确的颜色变量
祝你好运这里有一个解决方案,对每个三元组使用随机数:
function rT(){
//random number between 0 and 255
//you could change the limits or pass a parameter to this function
return Math.floor(Math.random() * (255 - 0)) + 0;
}
var change = document.getElementById('color_change');
change.addEventListener('click', function() {
document.getElementById('random_background').style.backgroundColor = "rgb("+rT()+" "+rT()+" "+rT()+")"; });
//in this case we use this form rgb(0-255,0-255,0-255)
完整示例如下:
更改限制如果要为属性设置字面上的“颜色”,请改用包含颜色值的变量。并在单击处理程序中添加对randomColor
的函数调用。另外,不要使用外部范围变量,而是从randomColor
函数返回颜色值,并将其分配给click handler函数中的局部变量。请删除“颜色”周围的引号。这听起来可能很傻,但我花了这么多时间试图把它做好。如果这有帮助,而且你愿意,你可以把这标记为公认的答案,以激励人们总是试图帮助你和其他人