通过ajax调用加载的图表看起来很好。目前,每当用户刷新页面时,都会从DB服务器加载数据。由于这些图表相当庞大,我考虑使用会话变量来存储图表并加快加载时间(所有图表都是同时加载的)。最终,我实现了目标,但我遇到了一些小问题。
每当从$_SESSION变量提供HTML + JS代码时,都会显示图表,但没有动画效果。此外,闪烁效果是可见的(缩放)。我通过设置responsive to 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 ),并且不会失去响应性?
谢谢。
发布于 2019-01-13 06:33:49
如果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();
祝好运。
https://stackoverflow.com/questions/54162747
复制