0

私は2つの円を作成しました(私の仕事でも、ループを使用して作成する小さな円はありません)ので、すべてにカスタムIDを追加することはできませんが、データを各円に設定します.

必要な円をクリックして、データで他の円を非表示またはアニメーション化するにはどうすればよいですか?

方法が正しいかどうかはわかりません。これが方法でない場合は、あなたのアドバイスを教えてください。または、これを行うための提案をしてください。

前もって感謝します。

var paper = new Raphael('myPaper',500,500);
var circle = paper.circle(100,100,100).attr({'fill':'red'});
var text = paper.text(100,100,"test Text").attr({'fill':'#fff'});

var smallCircle = paper.circle(300,100,50).attr({'fill':'green'}).data('id','green');

var newSet = paper.set();

newSet.push(circle,text);

newSet.attr({cursor:'pointer'}).data('id','oval');

newSet.click(function () {
    //smallCircle.attr({opacity:0.5}); //it works but i have no.of circle added by loop.
    smallCircle.data('green').attr({opacity:0.5}); //this is not working. i am setting unique data on each circle

} )

ここでJsfiddle

4

1 に答える 1

1

これを試してください...次のようにセレクターを使用しました..

smallCircle.data('id','green').attr({opacity:0.5}); //modified ...

http://jsfiddle.net/Amb9b/2/

于 2012-11-05T13:00:28.870 に答える