我想通过按钮使面板可见/不可见。
在此sample删除/添加面板中。 但是在添加时,我需要再次制作面板和设置。
我想让面板可见/不可见而不删除。
我用Google搜索并没有找到样本。
有可能吗?
感谢@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();
答案 0 :(得分:1)
通过查看演示的来源,您会看到第二个Stock Panel的类名为amcharts-stock-panel-div-stockPanel1
。您可以使用CSS隐藏它:
.amcharts-stock-panel-div-stockPanel1 {
display: none;
}
.amcharts-stock-panel-div-stockPanel1 * {
/* hide SVG nodes as well */
visibility: hidden;
}
然而,amCharts本身并不知道这个面板是隐藏的,所以当"删除"时,它不会重新调整第一个库存面板的高度。它
我会建议遵循示例中所示的方法。