我正在使用rails 3.2.1
我的页面分为5个部分
第1部分标题
第2部分区域
第3部分图部分
表格格式的第4部分数据
第5部分页脚
现在我的问题是图表需要花费太多时间才能上传 由于这个页面需要花费太多时间来加载。
请告诉我任何方法,以便我的图表加载到最后,但会显示其他数据。
答案 0 :(得分:1)
如果问题是图形数据下载时间太长,那么您需要使用AJAX调用单独下载它,而不是直接将其包含在页面中。类似的东西:
$.getJSON("/url/to/your/data", function(data){$.jqplot('chart1', data)});
...通过使/url/to/your/data
提供您当前嵌入页面的相同图表数据,您必须在服务器上支持。该代码将开始下载,然后将图形数据与页面的其余部分分开呈现。
如果这导致DOM的问题还没有完全准备好(不确定为什么会这样),那么请将您的调用包装起来,以便只有在完全呈现文档时才会发生:
$(function(){
$.getJSON("/url/to/your/data", function(data){$.jqplot('chart1', data)});
});
答案 1 :(得分:0)
你可以做的第一件事是在条件为真时调用绘制图形的函数。例如:
(function isMyDataLoaded(){
//if the table is rendered
if($('#TableData').length==0){
setTimeout(isMyDataLoaded,100);
}else{
DrawGraphFunction();
}
})();
注意:我不知道你的逻辑,所以你可以使用其他条件。