如何为特殊数字生成颜色

时间:2013-04-23 18:59:28

标签: javascript colors generator

如何使用javascript为特殊数字生成颜色,因此例如对于数字3,我每次都获得相同的颜色,对于数字6,另一种颜色。 感谢

3 个答案:

答案 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)

你想要N种不同的颜色吗?

您可以使用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库。