1

Raphael を使用して、json フィードから読み取った値に基づいてマップ上に円を描画するアプリケーションを構築しています。各円ノードは ID を取得し、それを使用してそれを呼び出し、その属性を変更します。新しい変数を選択すると、円のサイズと色が変わります。JQuery の attr メソッドを使用してサイズを変更できますが、アニメーション化することはできません。

各サークルに ID を割り当てました。

circle.raphael.node.id = [thisCircle]

したがって、属性メソッドを使用して各円のサイズと色を変更できます。

$(thisCircle).attr({
r : [new radius]
fill : [new color]
});

しかし、JQuery の animate メソッドを使用してアニメーション化することはできません。

$(thisCircle).animate({
r : [new radius],
fill : [new color]
}, 200);

私は何が欠けていますか?

4

2 に答える 2

4

animate独自の方法でラファエル オブジェクトをアニメーション化しないのはなぜですか? :

circle.animate({
    r : newRadius,
    fill : newColor
},200);

ラファエル サークル オブジェクトをアニメーション化する方法を示すデモを次に示します。

http://jsfiddle.net/gion_13/MpjGJ/

.
同じデモで、次のように、ネイティブ jquery アニメーション メソッドを介して raphael svg オブジェクトをアニメーション化できる不要なミニ jquery プラグインを追加したことがわかります。

$('#the-id-of-the-svg-node').animate({
    r : newRadius,
    fill : newColor
},200);
于 2012-06-07T17:21:50.413 に答える
0

試してみてください$('#'+thisCircle).animate...[thisCircle]は基になる要素のidです。それを jQuery に渡すには、要素自体を選択するセレクターを指定する必要があります。

于 2012-06-07T16:59:51.243 に答える