關於echarts圖表在tab頁中width:100%失效的問題


在使用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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM