在用echarts过程中碰到了宽度不灵的问题。
具体问题是,我设置的width:100%,结果出来的时候就变成了100px;查了资料后发现,是因为我把视图区放到了tab选项卡里,因为视图一开始是display:none;在一开始初始化执行js的时候找不到这个元素,所以会出现问题。解决方法就是,在echarts初始化之前再用js获取元素的宽度,然后再给他设置宽度就可以了。
var myChart=document.getElementById("myChart");
myChart.style.width=document.getElementsByClassName("className")[0].clientWidth+'px';
chartObj=echarts.init(myChart);
chartObj.setOption(option);
//当窗口变化时
window.addEventListener('resize', function () {
var eleWidth = document.getElementsByClassName("className")[0].clientWidth;
myChart.style.width = eleWidth + 'px';
myChart.resize();
})