我想使面板可见/不可见的按钮。使面板隐形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