问题描述:swiper设置loop为true时,echarts图表不显示。
原因:被复制的div中没有复制canvas;
更加详细的说法是,swiper在轮询的时候会把第一个和最后一个元素在复制一遍,一边在轮播的时候感觉是无缝在轮播。(自己写过轮播,就会知道为啥造成这个问题)
解决方法:
function drawArealine() { let option = option = {...};
//把第一个最后一个id换成class。这样就让被swiper复制的元素也获取上了 const bar1 = document.getElementsByClassName('situation');
//然后进行循环,让被复制和复制的两个就添加上相容的图表,这样就解决swiper设置loop为true时,echarts图表不显示的问题啦 for (let i = 0; i < bar1.length; i++) { const element = bar1[i]; if (element.innerHTML === "") { echarts.init(element).setOption(option) } } }