問題描述: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) } } }