項目有一個需求,定時顯示隱藏echarts圖標,剛開始dom是display:block;圖表顯示正常。等到dom隱藏再顯示的時候圖表仍是正常,很好沒有bug。
但是當我在dom處於display:none隱藏狀態時去調整瀏覽器的可視區域,dom再顯示的時候問題就來了,echarts顯示不出來了!$-$
報警告Can't get dom width or height
。瀏覽器
通常作echarts自適應都會用到 echarts.resize() 。 在可視區域變化時從新調整echarts,這時候若是dom處於隱藏狀態,那麼echarts在resize時就讀取不到節點的寬高,圖表就沒法顯示。echarts
在dom變爲display:block;
後,再從新賦予節點寬高和加載圖表,dom
function setpageSize(){ //取節點寬高 //加載圖表 } var _swiper_3d; _swiper_3d = window.setInterval(function () { var map_swiper = document.querySelector(".map_swiper"); var map_3d_content = document.querySelector(".map_3d_content"); if (map_swiper.style.display == 'none') { map_3d_content.style.display = 'none'; map_swiper.style.display = 'block'; setpageSize();// }else if(map_swiper.style.display == 'block') { map_swiper.style.display = 'none'; map_3d_content.style.display = 'block'; } },7000);