我想使面板可見/不可見的按鈕。使面板隱形amchart
在此sample刪除/添加面板。 但是,添加時,我需要再次製作面板和設置。
我想只讓面板可見/不可見不刪除。
我搜索了一下,沒有找到樣本。
有沒有可能?
由於@Robbert
回覆
我可以隱藏面板。喜歡這個 。
$(".amcharts-stock-panel-div-stockPanel1").hide();
但是它不會重新調整每個面板的大小。
如果我打電話
所以我嘗試這樣。
$(".amcharts-stock-panel-div-stockPanel1").hide();
chart.panels[1].percentHeight = 1;
chart.validateNow();
它隱藏面板並調整每個面板的高度。
但是,如果你使用validateNow()
當percentHeight = 1;
這種錯誤發生。
amcharts.js:26 Uncaught TypeError: Cannot read property 'translate' of undefined
at b.fixVLine (amcharts.js:26)
at b.adjustBalloonCoordinate (serial.js:17)
at b.showBalloon (amcharts.js:5)
at b.handleCursorMove (serial.js:8)
at b.dispatchMovedEvent (amcharts.js:27)
at b.syncWithCursorReal (amcharts.js:28)
at b.syncWithCursor (amcharts.js:28)
at b.handleCursorChange (amstock.js:2)
at b.a.inherits.b.fire (amcharts.js:1)
at b.dispatchMovedEvent (amcharts.js:27)
我的最終解決方案是這樣的,不使用CSS,但對於面板備份準備變量panelBack
。
//removing ...
pos = //panel position.
var panelBack = chart.panels[pos];
chart.removePanel(chart.panels[pos]);
chart.validateNow();
//adding...
chart.addPanelAt(panelBack,1);
chart.validateNow();
即使您可以使用CSS或任何其他外部方法隱藏面板,我建議使用amCharts API方法(移除面板並調用「validateNow」)。如果你不這樣做,你可能會收到意想不到的錯誤信息,比如你提到的錯誤信息,因爲amCharts認爲面板仍然在那裏(技術上來說)。 – Robbert
感謝Robbert,最後我用amchart API刪除。更新了我的文章。 – whitebear