我在按钮的点击事件上动态添加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库初始化时间的问题。如何克服?
答案 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)
});