2016-11-25 94 views
0

我在具有唯一标识的按钮的单击事件上动态添加DIV标记。图表初始化工作不正常

jquery: - res = 1,2,3 ... for循环变量值。

chartname='chart'+res; 
myVarchart = setTimeout(function(){chartinit(chartname)}, 200); 

HTML: - div标签

<div id="chart'+res+'" style="height:200px;width:400px;"> </div> 

手段IDS将根据对循环变量值chart1,2,3 ...。

但是图表只显示最后2 - 3个div。 echart库的初始化时间问题。如何克服?

+0

思想1)它JavaScript允许手动管理线程。 –

+0

我可以看到循环的完整代码吗?并呈现动态股利..我使用Angularjs + echarts和我做到了这一点。我想我可以帮你解决这个问题 – vistajess

回答

0

我已经使用angularjs和echarts通过echarts制作动态图表。 $scope.widgets是一个包含图表选项,id及其索引的对象数组。

我还添加javascript-detect-element-resize库用于添加resize事件每div https://github.com/sdecima/javascript-detect-element-resize

$scope.widgets.map(function(widget) { 
     $timeout(function() { 
      let chart2 = echarts.init(document.getElementById('widget_id_'+widget.index+'_'+ widget.elements.chart.id)); 
      let resizeElement = document.getElementById('widget_id_'+widget.index+'_'+ widget.elements.chart.id), 
      resizeCallback = function() { 
       chart2.resize(); 
      }; 
      addResizeListener(resizeElement, resizeCallback); 
     }, 600) 
    });