我有问题或疑问。(对不起我的英语,我是法国人)。
我使用 Hightcharts 在一页上显示很多图表(约 55 个图表)并创建它们会消耗大量时间。这就是为什么,我想保留我的图表,我不想在更改页面后重新创建它们并稍后重新显示它们。我制作了一个 jsfiddle.example 来模拟我想要的。http://jsfiddle.net/huhWj/2/
简单的html页面
<div id="container" style="height: 400px"></div>
<button id="button">Set new data</button>
<button id="buttonGet">Get container</button>
<button id="buttonSet">Set container</button>
<button id="Empty">Empty container</button>
javascript
var chart = new Highcharts.Chart({
chart: { renderTo: 'container' },
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});
var containerData='';
var toggle=0;
// the button action
$('#button').click(function() {
if (toggle%2 == 0) {
chart.series[0].setData([129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4] );
} else {
chart.series[0].setData([29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] );
}
toggle++;
});
$('#buttonGet').click(function() {
containerData=$("#container").html();
});
$('#buttonSet').click(function() {
$("#container").html(containerData);
chart.series[0].setData([129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4] );
chart.redraw();
});
$('#Empty').click(function() {
$("#container").empty();
});
首先,“设置新数据”按钮显示活动图表。然后“获取容器”捕获 div 内容。现在,如果我用“空容器”按钮清空容器(使用 jquery .load() 模拟更改页面),并用“设置容器”填充它,那么图表似乎是非活动的。我的问题是如何使用图表激活 div 容器?我尝试了 setDate 或重绘,但似乎没有任何问题。你有想法吗 ?
谢谢你的帮助