echarts图表在Tab页中width: 100%失效导致的第一个Tab页之后的Tab页图表不能正常显示的问题

echarts图表在Tab页中width: 100%失效导致的第一个Tab页之后的Tab页图表不能正常显示的问题

解决Tab切换echarts图表不能正常显示问题:

    // 绘图div父容器的宽度
    let w = $('.figure').width();
    $('#fig-t').css('width', w); // 获取父容器的宽度直接赋值给图表以达到宽度100%的效果
    $('#fig-f').css('width', w); // 获取父容器的宽度直接赋值给图表以达到宽度100%的效果
    $('#fig-e').css('width', w); // 获取父容器的宽度直接赋值给图表以达到宽度100%的效果
    fig_t = echarts.init(document.getElementById('fig-t'), 'white', {renderer: 'canvas'});
    fig_f = echarts.init(document.getElementById('fig-f'), 'white', {renderer: 'canvas'});
    fig_e = echarts.init(document.getElementById('fig-e'), 'white', {renderer: 'canvas'});

上面只是解决了Tab页切换导致的图表显示问题,

由于是在图表初始化的时候设置了容器宽度,图表并不能随窗口缩放自适应,下面是解决方法:

window.onresize = function () {
    // 绘图div父容器的宽度
    let w = $('.figure').width();
    $('#fig-t').css('width', w); // 获取父容器的宽度直接赋值给图表以达到宽度100%的效果
    $('#fig-f').css('width', w); // 获取父容器的宽度直接赋值给图表以达到宽度100%的效果
    $('#fig-e').css('width', w); // 获取父容器的宽度直接赋值给图表以达到宽度100%的效果
    if ((typeof fig_t) !== "undefined" && fig_t.dispose) {
        // ECharts随窗口大小改变而自适应
        fig_t.resize();
    }
    if ((typeof fig_f) !== "undefined" && fig_f.dispose) {
        // ECharts随窗口大小改变而自适应
        fig_f.resize();
    }
    if ((typeof fig_e) !== "undefined" && fig_e.dispose) {
        // ECharts随窗口大小改变而自适应
        fig_e.resize();
    }
};

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119531.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 改写String类别

    改写String类别

    2022年1月5日
  • b站《史上最全unity3D教程》笔记1-04「建议收藏」

    b站《史上最全unity3D教程》笔记1-04「建议收藏」         

    2022年9月19日
  • Jenkins的主要作用

    Jenkins的主要作用说明:Jenkins折腾了好几个月了,打算写个系列记录下。有时间会尽量更新的。第一章Jenkins是什么?Jenkins 是一个可扩展的持续集成引擎。主要用于:l 持续、自动地构建/测试软件项目。l 监控一些定时执行的任务。Jenkins拥有的特性包括:l 易于安装-只要把jenkins.war部署到servlet容器,不需要数据库

    2022年5月31日
  • ARM版Oracle安装包_如何把Linux移植到手机

    ARM版Oracle安装包_如何把Linux移植到手机  linux作为一款流行的嵌入式系统,目前已经有多种架构的MCU支持Linux移植,arm64就是其中一种。今天在这里想做一个笔记,记录一下完整的arm64移植过程。嵌入式Linux系统组成部分嵌入式Linux移植到开发板上时,主要有四个组成部分,下面一一列举。  在启动过程中,bootloader加载设备树文件(dtb),之后启动内核(Startkernel),进而加载根文件系统(debian或者ubuntu),最后进入系统。  那么我们所做的工作可以分为以下三部分:1、进行bootlo

    2022年9月17日
  • 进程间通信方式以及各自的优缺点是什么_android进程间通信方式

    进程间通信方式以及各自的优缺点是什么_android进程间通信方式1)管道管道分为有名管道和无名管道无名管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用.进程的亲缘关系一般指的是父子关系。无明管道一般用于两个不同进程之间的通信。当一个进程创建了一个管道,并调用fork创建自己的一个子进程后,父进程关闭读管道端,子进程关闭写管道端,这样提供了两个进程之间数据流动的一种方式。有名管道也是一种半双工的通信方式,但是它允许

    2022年9月13日
  • resin之jvm优化「建议收藏」

    resin之jvm优化「建议收藏」     经过几天的测试,系统终于较以前有所稳定了,特把优化后的参数发布出来,供朋友们一起讨论我的服务器配置:至强双CPU2.2G,ECC内存4G,硬盘70G,操作系统:AS4jdk1.5.0_02     没优化之前,服务器经常抛出内存溢出,物理内存居高不下,还经常抛出keepalive超过最大值500。服务器一天重启两三次,客户抱怨声不断。 <jvm-arg>-Xm…

    2022年5月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号