在使用echarts時,寫在tab頁中的圖表寬度明明設成了100%,但是在頁面上實際卻只有100px寬
<div id="chartMain" style="width:100%;height:300px"></div>
原因很簡單,在tab頁中,圖表的父容器div是隱藏的(display:none),圖表在執行js初始化的時候找不到這個元素,所以自動將“100%”轉成了“100”,最後計算出來的圖表就成了100px
解決辦法:
找一個在tab頁的切換操作中不會隱藏的父容器,把它的寬度的具體值取出後在初始化圖表之前直接賦給圖表
1 $("#chartMain").css(`width`,$("#TabContent").width());//獲取父容器的寬度具體數值直接賦值給圖表以達到寬度100%的效果 2 var Chart = echarts.init(document.getElementById(`chartMain`)); 3 4 // 指定圖表的配置項和資料 5 option = { ...配置項和資料 }; 6 7 // 使用剛指定的配置項和資料顯示圖表。 8 Chart.setOption(option);