2016-06-15 4 views
0

私は現在jqueryウィジェットを勉強しています。私がしたことは、動作しているjavascriptコードをjqueryウィジェットに変換することでした。 したがって、新しいデータが到着したときにチャートを作成して更新することが目標です。私があなたに示す予定のコードでは、データを更新するためにタイムアウトを使用しました。JQueryウィジェット:正しく動作しません

JSFIDDLE

あなたがchartjsを使用している場合、あなたはその後、それが正常にデータを更新するを再作成chartjsによって作成されたIFRAMEを削除する破壊を呼び出す必要があることは間違いなく知っていますよ。

グラフを再描画することはできましたが、マウスを置くと前のグラフが表示されます。私はそれを適切に破壊しなかった場合に限り、そのようなシナリオが起こることを知っています。しかし、私はiframeを破壊するはずのこのコードを持っています。

update: function() { 
    this.destroy(); 
    this._create(); 
} 

1)iframeを削除しない場合は、何ですか?

2)このコードを修正する方法を教えてください。

答えて

0

私のコードの問題は、私がを使ったときに、このを破壊と呼んだと思います。 と答えると、と書かれているので、新しいChart(...)が返すものではなく、作成された要素を参照していると思います。だから、私がやったのは、新しいChart(...)によって返された値を保存し、それを使ってグラフを破棄することでした。あなたは私のものよりも、追加またはより意味のある答えを持っている場合jsFiddle

options : { 
    labels : [], 
    data : [], 
    pieChart: null 
},update: function(){ 
    pieChart.destroy(); 
    pieChart._create(); 
} 

で、同様にそれを掲示すること自由に感じなさいことを私がやった方法を参照してください。ありがとう:)

関連する問題