2012-01-07 12 views
0

私がしたいのは、アニメーションを停止して にアニメーションオブジェクトの初期状態をリセットしたときです。私はそれをやりたいのですが(Element.stop([anim]))、現在の点で静止しています(半分のトランフェラントと言います)。もう一度再生すると、最初からアニメーションがこの場所から繰り返されます。停止時にアニメーションをRaphaelの初期状態にリセットする方法は?

ここは私のアニメーションRaphael.animation({opacity: 0}, 500, "<>").repeat(Infinity)です。

私はRaphaelのニュースグループで3週間前にこの質問をしましたが、回答がありませんでした。

おかげで、 bozhidarc

答えて

0

は、私はそれが最もエレガントだ示唆ないんだけど、過去に私は単にあなたがそれを作る要素に特別な属性のカップルを追加することによって、このようなことをやりました。この場合、私はちょうどbaseAttrsは設定の元のオブジェクト保持し、属性を追加したい:上記の例で

var paper = Raphael('canvas', 500, 500); 

    var circle = paper.circle(320, 240, 60); 
    circle.baseAttrs = {fill:'yellow'}; // add to the elem 
    circle.attr(circle.baseAttrs); 

    circle.animate({fill: "blue"}, 1000, 
        function(){ 
         this.attr(this.baseAttrs); 
        }); 

を、アニメーションからのコールバックはのbaseAttrs値に円の属性を設定しますアニメーションが完了したときにbaseAttrsは、何が起こったかにかかわらず、常にサークルで開催されます。 http://jsfiddle.net/UVPeh/