0

如果我有类似http://raphaeljs.com/ball.html的项目,我如何通过 DOM 修改它,以更改特定实例的颜色?

前任:

Raphael.fn.ball = function (x, y, r, hue) {
        hue = hue || 0;
        return this.set(
            this.ellipse(x, y + r - r / 5, r, r / 2).attr({fill: "rhsb(" + hue + ", 1, .25)-hsb(" + hue + ", 1, .25)", stroke: "none", opacity: 0}),
            this.ellipse(x, y, r, r).attr({fill: "r(.5,.9)hsb(" + hue + ", 1, .75)-hsb(" + hue + ", .5, .25)", stroke: "none"}),
            this.ellipse(x, y, r - r / 5, r - r / 20).attr({stroke: "none", fill: "r(.5,.1)#ccc-#ccc", opacity: 0})
        );
    };

function drawBall(div_id, color) {
        var X = Raphael(div_id), x = 100, y = 80, r = 50;
        X.ball(x, y, r, color);
    }

我确实在文档中创建了一个“球”(document.write(active_div, 0.3459912),现在我想更改颜色。

使用相同的 div 调用 drawBall,只会在 DIV 中创建另一个“球”。

4

2 回答 2

1

尝试

var hue = hue;  
X.attr("fill", r(.3,.25) white-" + hue);

您可以使用任何颜色yellow或颜色代码,例如#00CC33色调。
演示

于 2012-04-07T02:49:36.620 回答
0

那这个呢?

X.attr("fill", newColor);

newColor您要将其颜色更改为的变量的名称在哪里。

于 2012-04-07T02:46:36.657 回答