我在一个页面上有大约300个高图。加载html和数据后,高图的渲染大约需要3秒。我创建了两个函数,它们接受一些参数(div渲染为和数据),然后使用Highcharts.Chart()函数来重新生成图表。我多次调用这些函数来呈现分区中的图表。代码如下所示:
for(i=0;i<json_object.length;i++)
{
var container= document.getElementById("q_"+json_object[i].q_no);
distribution_chart(container, json_object[i]['distribution_texts'],json_object[i]['distribution_values']);
for (j=0;j<json_object[i]['meta_distributions'].length;j++)
{
var container= document.getElementById("q_"+json_object[i].q_no+"_"+j);
for (k=0; k< json_object[i]['meta_distributions'][j]['distribution_values'].length;k++)
{
json_object[i]['meta_distributions'][j]['distribution_values'][k]=parseFloat(json_object[i]['meta_distributions'][j]['distribution_values'][k])
}
distribution_chart_demographic(container,json_object[i]['meta_distributions'][j]['distribution_texts'],json_object[i]['meta_distributions'][j]['distribution_values'],json_object[i]['meta_distributions'][j]['distribution_values_pos']);
}
}
我可以以非阻塞的方式渲染高图。或者这样在页面加载期间前几个高级图表呈现,而其他高图表在此之后继续在后台呈现。