图表Init无法正常工作

时间:2016-11-25 11:03:46

标签: javascript jquery html css charts

我在按钮的点击事件上动态添加DIV标签,并带有唯一的ID。

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

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

HTML: -

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

根据for循环变量值,div标签的ID为chart1,2,3 ....

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

1 个答案:

答案 0 :(得分: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)
  });