echarts解决Can't get dom width or height 问题
看网上的大佬说法 是获取不到dom的高宽,跟着写还是没显示成功 贴上大佬的代码:var mainContainer = document.getElementById('main');//用于使chart自适应高度和宽度,通过窗体高宽计算容器高宽var resizeMainContainer = function () {mainC...
看网上的大佬说法 是获取不到dom的高宽,跟着写还是没显示成功 贴上大佬的代码:
var mainContainer = document.getElementById('main');
//用于使chart自适应高度和宽度,通过窗体高宽计算容器高宽
var resizeMainContainer = function () {
mainContainer.style.width = window.innerWidth+'px';
mainContainer.style.height = window.innerHeight*0.8+'px';
};
//设置div容器高宽
resizeMainContainer();
// 初始化图表
var mainChart = echarts.init(mainContainer);
$(window).on('resize',function(){//
//屏幕大小自适应,重置容器高宽
resizeMainContainer();
mainChart.resize();
});
我不知道为撒子我还是获取不到,但好在警报变成了:
There is a chart instance already initialized on the dom.
在根据警告做一个判断就OK 了;
我的完整代码如下:
首先定义一个全局变量 var myChart;
var mainContainer = document.getElementById("echarts3"); //用于使chart自适应高度和宽度,通过窗体高宽计算容器高宽 var resizeMainContainer = function () { //div大小 mainContainer.style.width = '340px'; mainContainer.style.height = '200px'; }; resizeMainContainer(); if ( myChart != null && myChart != "" && myChart != undefined ) { myChart.dispose(); } myChart = echarts.init(mainContainer); $(window).on('resize',function(){// //屏幕大小自适应,重置容器高宽 resizeMainContainer(); myChart.resize(); });
option ={//自己的echarts}
myChart.setOption(option);
更多推荐
所有评论(0)