使面板不可见 amchart
Make Panels invisible amchart
我想通过按钮制作面板visible/invisible。
在此 sample remove/add 面板中。
但是添加的时候需要重新做面板和设置
我只想制作面板 visible/invisible 而不是删除。
我用谷歌搜索了一下,没有找到示例。
可以吗??
感谢@Robbert
回复
我可以隐藏面板。像这样。
$(".amcharts-stock-panel-div-stockPanel1").hide();
但是它不会重新调整每个面板的大小。
如果我打电话给
所以我这样尝试。
$(".amcharts-stock-panel-div-stockPanel1").hide();
chart.panels[1].percentHeight = 1;
chart.validateNow();
它隐藏面板并调整每个面板的高度。
但是,如果在 percentHeight = 1;
时使用 validateNow()
发生此错误。
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();
通过查看演示的源代码,您会看到第二个 Stock 面板的类名是 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 本身并不知道这个面板是隐藏的,所以它不会在 "removing" 时重新调整第一个股票面板的高度。
我建议按照示例中的方法进行操作。
我想通过按钮制作面板visible/invisible。
在此 sample remove/add 面板中。 但是添加的时候需要重新做面板和设置
我只想制作面板 visible/invisible 而不是删除。
我用谷歌搜索了一下,没有找到示例。
可以吗??
感谢@Robbert
回复
我可以隐藏面板。像这样。
$(".amcharts-stock-panel-div-stockPanel1").hide();
但是它不会重新调整每个面板的大小。
如果我打电话给
所以我这样尝试。
$(".amcharts-stock-panel-div-stockPanel1").hide();
chart.panels[1].percentHeight = 1;
chart.validateNow();
它隐藏面板并调整每个面板的高度。
但是,如果在 percentHeight = 1;
validateNow()
发生此错误。
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();
通过查看演示的源代码,您会看到第二个 Stock 面板的类名是 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 本身并不知道这个面板是隐藏的,所以它不会在 "removing" 时重新调整第一个股票面板的高度。
我建议按照示例中的方法进行操作。