echarts图表显示隐藏 Can't get dom width or height

栏目: 数据库 · 发布时间: 5年前

内容简介:项目有一个需求,定时显示隐藏echarts图标,刚开始dom是display:block;图表显示正常。等到dom隐藏再显示的时候图表还是正常,很好没有bug。可是当我在dom处于display:none隐藏状态时去调整浏览器的可视区域,dom再显示的时候问题就来了,echarts显示不出来了!$-$报警告

项目有一个需求,定时显示隐藏echarts图标,刚开始dom是display:block;图表显示正常。等到dom隐藏再显示的时候图表还是正常,很好没有bug。

可是当我在dom处于display:none隐藏状态时去调整浏览器的可视区域,dom再显示的时候问题就来了,echarts显示不出来了!$-$

报警告 Can't get dom width or height

  • 原因可能是echarts读取不到隐藏dom的高宽。

一般做echarts自适应都会用到 echarts.resize() 。 在可视区域变化时重新调整echarts,这时候如果dom处于隐藏状态,那么echarts在resize时就读取不到节点的宽高,图表就无法显示。

解决办法

在dom变为 display:block; 后,再重新赋予节点宽高和加载图表,

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);
  • 注意:如果你echarts有用到setInterval来令图表动态化,这时候还需要清除echarts数据的定时器再引入方法,否则setInterval会叠加,数据越来越快。。。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

神经网络与机器学习(原书第3版)

神经网络与机器学习(原书第3版)

[加] Simon Haykin / 申富饶、徐烨、郑俊、晁静 / 机械工业出版社 / 2011-3 / 79.00元

神经网络是计算智能和机器学习的重要分支,在诸多领域都取得了很大的成功。在众多神经网络著作中,影响最为广泛的是Simon Haykin的《神经网络原理》(第3版更名为《神经网络与机器学习》)。在本书中,作者结合近年来神经网络和机器学习的最新进展,从理论和实际应用出发,全面、系统地介绍了神经网络的基本模型、方法和技术,并将神经网络和机器学习有机地结合在一起。 本书不但注重对数学分析方法和理论的探......一起来看看 《神经网络与机器学习(原书第3版)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具