单击特定画布元素时更改颜色

时间:2014-09-04 13:29:05

标签: javascript jquery canvas raphael

我正在使用Raphael.js创建动态画布元素,但是我需要在按下元素时更改颜色。 我只是将click事件附加到每个特定的圆圈上,但是如何更改按下的元素的颜色?

paper = Raphael("canvas", 500, 500);
  circs = paper.set();
  for (i = 0; i < 21; ++i)
  {
    opa = ran(3,10)/10;
    circs.push(paper.circle(ran(0,500), ran(0,500), ran(13,30)).attr({"fill-opacity": opa,
    "stroke-opacity": opa }).click(function(){
      $("#toggle").click();
      //Change color?

    }));

  }

2 个答案:

答案 0 :(得分:0)

我从未使用过Raphael,但与其他任何jquery对象一样,你应该在对象范围内使用$(this)。从Raphael文档中我看到你需要更改fill属性,所以你的代码应该是

$(&#34;#肘节&#34)。单击();   $(this).attr(&#34; fill&#34;,&#34;#f00&#34;);

希望有所帮助

答案 1 :(得分:0)

不太清楚切换的位置,如果你需要的话可以帮助你制作一个jsfiddle。

通常你会做类似

的事情
paper.circle(x,y,r).click(function(){
    this.attr({ fill: "blue", opacity: "0.5" });
});