1

メインのHTMLにhighchartsグラフィックがあります。グラフィックの一部が表示されないように、小さなdivに入れました。ユーザーがボタンをクリックすると、ポップアップとしてカラーボックスで開きますが、サイズは更新されません。クリックしてFirebugで検査すると、突然サイズが更新され、すべてが正常になります。カラーボックスを閉じると、まだ大きく、グラフィックの多くの部分も見えません。

Highchartsグラフィックを更新する方法と、Firebugで要素の検査をクリックしたときにそれ自体が更新される理由(必要なもの)について何か考えはありますか?

PS: Firebugに関係のないウィンドウのサイズを変更すると機能します。ここに私のものと同じ問題があるようです:https ://github.com/highslide-software/highcharts.com/issues/472

4

2 に答える 2

1

データがロードされた後、colorbox が閉じられた後に window.resize を呼び出すと、問題は解決しました。

于 2013-02-01T09:28:28.243 に答える
0

見分けるのが難しい例がありませんが、ここで私は何が起こっていると思いますか:

まず、オプションreflowが true に設定されているかどうかを確認します。そうである場合、Highcharts は window.resize イベントを監視し、サイズ変更が発生したときにそれ自体を再描画します。私の推測では、Firebug を有効にすると、ウィンドウのサイズが変更され、チャートが再描画されます。

チャートの新しいサイズを手動で設定したい場合は、API メソッドsetSize()を使用できます。チャートのみを再描画するには、redraw()を使用する必要があります。

于 2013-02-01T09:04:40.620 に答える