多个Echarts resize方法,只有一个图表自适应生效
Echarts的 resize方法,在多个echarts图标下window.onresize,只有一个图表自适应生效
有多个时,单个生效
var option = layui.myChart.option.bar(data.dateList, data.valueList);
option.series[0].name = name;
var chart = layui.myChart.initChart(id, option);
window.onresize = chart.resize;
有多个时,多个生效
var option = layui.myChart.option.bar(data.dateList, data.valueList);
option.series[0].name = name;
var chart = layui.myChart.initChart(id, option);
window.addEventListener("resize", () => {
chart.resize()
})
window.onresize = () => {
chart1 && chart1.resize();
chart2 && chart2.resize();
}
使用定时器
var timer = null;
$(window).on('resize', function () {
if (timer) {
clearTimeout(timer)
}
timer = setTimeout(function(){
chart1 && chart1.resize()
chart2 && chart2.resize()
}, 400);
}
);