我通过ajax调用加载的图表看起来还不错。当前,每当用户刷新页面时,就会从DB服务器加载数据。由于这些图非常庞大,因此我考虑过使用SESSION var存储图表并加快加载时间(所有图表都同时加载)。最终,我实现了目标,但是遇到了小问题。
只要从$ _SESSION var提供HTML + JS代码,就会显示图表,但没有动画效果。另外,闪烁效果可见(缩放)。我通过将响应设置为false解决了这一问题,但这会导致标签出现问题,因为标签太小而无法接受。
我尝试了.destroy()选项,但没有运气(相同的闪烁效果):
var myChart = new Chart(ctw, {
type: 'bar',
data: chart_data,
options: chart_options
});
myChart.destroy();
var myChart = new Chart(ctw, {
type: 'bar',
data: chart_data,
options: chart_options
});
有什么方法可以强制动画播放(无论图表是否来自$ _SESSION),并且不会失去响应能力?
谢谢。
答案 0 :(得分:0)
如果myChart.destroy()无法正常工作。尝试myChart.update()。
尝试这样更新:
var myChartData = myChart.data; // need to store in variable first
myChartData = chart_data; // chart_data from $_SESSION var
myChart.data = myChartData;
myChart.update();
祝你好运。