【发布时间】:2011-05-29 02:36:02
【问题描述】:
我发现以下很棒的脚本可以用 javascript 创建随机颜色。
var randColor = '#'+(Math.random()*0xFFFFFF<<0).toString(16);
我对这个脚本的唯一问题是它不能保证它返回一个正常的 7 位十六进制字符串。
有时它只有 6 位数字,例如 #e1d19。
有没有办法强制 7 位十六进制值?
感谢您的帮助。
编辑:这是我的实际问题:
function randColor() {
var randColor = '#'+(Math.random()*0xFFFFFF<<0).toString(16);
return randColor;
}
for (var i=0; i<100; i++) {
$("#colorpicker").append("<div class='color' title="+randColor()+" style='background:"+randColor()+"'></div>");
}
我正在创建具有随机颜色的小 div,当我单击它们时,我会获取它们的标题属性并为我的身体背景着色。
但是目前我的代码以
结尾<div style="background:rgb(176, 249, 252);" title="#8bc47d" class="color"></div>
所以当我获取标题属性时,我给身体的颜色与小 div 显示的颜色不同。
【问题讨论】:
-
严格来说,你要的是一个6位的十六进制值,前面加一个“#”字符,一共7个字符。
-
你得到不同的颜色,因为你调用 randColor 两次,给你两种不同的颜色。您需要调用一次,将其存储在一个变量中并使用该变量两次。
标签: javascript colors random