在使用echarts 做图表 那就免不了在一个页面写多给图表(已经是常态了)
环境:一个HTML页面引进多个图表的JS文件,每个JS文件单独做一种图表 方便其他页面重复调用;
原来的自适应的方法是直接:
window.onresize = function () {
chartPie.resize();
};
此时发现:在多文件调用的时候是根本拿不到chartPie的,因为我的图表容器在JS里面生成,所以不会触发resize函数;
换个思路:在需要window.onresize的函数内直接使用echarts.init()去取:
window.onresize = function () {
chartPie.resize();
echarts.init(document.getElementById("chartPie1")).resize();
echarts.init(document.getElementById("chartPie2")).resize();
echarts.init(document.getElementById("chartPie3")).resize();
echarts.init(document.getElementById("chartPie4")).resize();
};
这样,就能很好的拿到需要自适应的图表容器并且init,页面就会自适应了。