1

我有问题或疑问。(对不起我的英语,我是法国人)。

我使用 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 或重绘,但似乎没有任何问题。你有想法吗 ?

谢谢你的帮助

4

0 回答 0