0

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

4

3 回答 3

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
于 2013-04-23T19:03:41.783 回答
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;
    });
}

另请参阅使用 JavaScript 生成颜色以处理颜色的 JS 库。

于 2013-04-23T23:09:58.773 回答
1

也许:

var colorNum = 2;
var colors = [
    "blue",
    "red",
    "yellow",
    "black"
];

colors[colorNum]“黄色”在哪里。

您可以仅引用colors(数组)并使用整数(从 0 到数组长度的任何整数)对其进行索引以获取关联的颜色。

于 2013-04-23T19:03:00.037 回答