jlb*_*ggs 10 jquery highcharts
基于此线程中的信息:实现自己的状态 - INACTIVE_STATE?
我已经建立了一个符合我需求的图表 - jsfiddle
我添加了一些自定义控件,允许用户显示/隐藏所有系列并检查/取消选中所有系列.
一切都很好.
我想要做的最后一部分是允许用户使用原始选项重置图表.
这部分我也开始工作,但是有一个问题:一旦图表重建,允许用户显示/隐藏/检查/取消选中的功能不再起作用,因为我已经销毁并重新指定了它们运行的变量的.
所以我的问题 -
重置图表的代码如下:
//reset the chart to original specs
$('#resetChart').click(function(){
chart1.destroy();
chart1 = new Highcharts.Chart(optionsChart1,highlightSer);
});
Run Code Online (Sandbox Code Playgroud)
highlightSer
是一个回调功能,以突出某些系列.
以后不再起作用的代码示例:
var chart = chart1;
$('#showAll').click(function(){
for(i=0; i < chart.series.length; i++) {
chart.series[i].show();
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢!
Bhe*_*ung 17
1)这是破坏和重建图表的正确方法,还是有更好的方法?
这是唯一的方法,而且Highcharts足够智能,所以你不必担心任何内存泄漏.
2)如果这是这样做的话,那么如何让我的show/hide/check/uncheck函数继续工作呢?
您正在重新创建图表,但不会chart
再次将其分配给变量.
$('#resetChart').click(function(){
chart1.destroy();
chart1 = new Highcharts.Chart(optionsChart1,highlightSer);
chart = chart1; // <-------- Add this line here.
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
44863 次 |
最近记录: |