如何使用javascript为特殊数字生成颜色,因此例如对于数字3,我每次都获得相同的颜色,对于数字6,另一种颜色。 感谢
答案 0 :(得分:4)
您可以使用数组,在其中存储所需的每种颜色,然后按索引访问:
// declare color array
var colors = [ "#fff", "#f00", "#0f0", "#00f" ]; // put every color you need
// access the colors
var white = colors[0];
var red = colors[1];
// and so on...
修改强>
JavaScript中的数组是动态的,因此您可以在运行时添加颜色:
colors.push("#000"); // add black color
答案 1 :(得分:1)
也许:
var colorNum = 2;
var colors = [
"blue",
"red",
"yellow",
"black"
];
colors[colorNum]
为“黄色”。
您可以引用colors
(数组)并使用整数(从0到数组长度的任何整数)对其进行索引,以获得相关的颜色。
答案 2 :(得分:1)
您可以使用HSL颜色,如:http://jsfiddle.net/duw6n/5/
function mod(num, den) {
return Math.abs(num) % den;
}
function hue(n, k) {
var tau = 360.0,
k = k || 1;
return mod((tau / n) * k, tau);
}
function gen_colours(lst) {
return lst.map(function (c) {
var node = $('<div/>').addClass('colour');
node.html(c)
.css({'background-color': 'hsl(' + hue(lst.length, c) + ', 100%, 50%)'});
return node;
});
}
另请参阅Generate colors with JavaScript了解处理颜色的JS库。