0

私は Raphaeljs を使用してマップに取り組んでおり、パスをセット内に持っています。なぜなら、それらすべてに同じ属性を持たせたいからです。すべて問題ありませんが、各パスに ID を設定したいので、1 つにしました。しかし、属性が失われたので、私の質問は...セット属性を持つセット内にpath.idを持つ方法はありますか? ありがとう

ここにファイルhttp://jsfiddle.net/tLSpv/2/があります

var paper = Raphael(0,0,540, 615);

var newmexico = paper.set();

newmexico.push(
paper.path("M343.249,11.503l-1.658,3.554l-0.474,16.822c0,0-3.554-0.711-5.449-0.711 s-5.686,3.554-5.449,4.265c0.237,0.711-1.895,13.268-1.895,14.215s3.554,4.502,3.317,5.449c-0.237,0.948-0.711,3.554-0.474,4.502 c0.237,0.948,0.711,7.345,0.474,9.477c-0.237,2.132,0.948,11.846-1.658,13.268h42.883v5.449h38.855h37.197V73.103l1.303-1.303V1.239 L340.643,1.18v4.4L343.249,11.503z").node.id = 'colfax';
).attr({    
            fill: '#F7F0EA',
            stroke: '#006599',
            'stroke-width': 1,
            cursor: 'pointer' 
 })

.hover(function () {
 this.animate({fill: '#006599'}, 300);
    },
    function () {
    this.animate({fill: '#F7F0EA'}, 300)
    }
);
4

1 に答える 1

0

ここに提案があります。Raphaels data()属性リストの上に関数を追加します。

経験値:

for (var i = 0, i < 5, i++) {
    paper.circle(10 + 15 * i, 10, 10)
         .attr({fill: "#000"})
         .data("i", i)
         .click(function () {
            alert(this.data("i"));
         });
}

この小さな例はhereから取られています。data指定されたキーに関連付けられた指定された値を追加または取得します。この場合"i"、 はキーで、iは値です。

これが、Raphael オブジェクトに ID を割り当てる方法です。幸運を

于 2013-09-19T15:18:55.363 に答える