4

gRaphael JavaScript 折れ線グラフ ライブラリで問題が発生しています。

5 つの列 (分数、時間、待機時間、治療中、終了、場所) を持つ CSV ファイルから折れ線グラフを作成しています。

以前は、アニメーションなしで完全なチャートを描くことができました。4行すべてが正しくありました。

今私のコードはアニメーション関数で失敗します。エラーは次のとおりです。

キャッチされていない TypeError: オブジェクト # にはメソッド 'animate' がありません

私は、jQueryがどういうわけかアニメーション機能をいじっていて、それを手綱を取ろうとしていると思います。

        function animateChart(newX, newW, newInT, newC, newInL){
            var chart2 = paper.linechart(
                20, 20, // padding
                newX.length, 400, // dimensions
                newX, [newW, newInT, newC, newInL] // values
            );

            for (i = 0; i < chart.lines.length; i++){
                elem = chart.lines[i][0];
                elem.animate({ path: chart2.lines[i][0].getAttribute("d") }, 200);
            }

            chart2.remove();
        }

完全なコード:

http://pastebin.com/YmvkrmQ3

次のライブラリを順番にロードしています。

  1. ラファエル-min.js
  2. g.raphael-min.js
  3. g.line.min.js
  4. jquery.js

助けてくれてありがとう。

更新: 問題はアニメーション メソッドにあります。パス要素でメソッドを呼び出していますが、エラーが発生します。ラファエルがパス要素をパス要素として認識しない理由はまだわかりません。

jQuery を無効にしてみました (そしてその ajax 関数をバニラ JavaScript に置き換えました) が、役に立ちませんでした。

4

1 に答える 1

3

Raphael パス要素ではなく、SVG パス要素を持っている可能性があります。それはおそらく の[0]最後にありelem = chart.lines[i][0];ます。

于 2012-10-03T08:07:02.260 に答える