2016-11-25 131 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) 
    });