echarts 多个图表在同一个页面的自适应问题

时间:2024-03-22 18:50:56

在使用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,页面就会自适应了。

echarts 多个图表在同一个页面的自适应问题