好久没有更新博客了,今天搞了快一天的网页自适应,头晕。。。因为最近开始做项目,项目中需要用到图表方面的知识,于是乎接触到了echarts,所以其实我也算是新手了。只是近几天弄了很久的关于图表隐藏之后再次显示,却无法显示出来的问题。在网上也搜寻了好久。都没有特别对口的答案,echarts图表一直是显示的到还没发现有什么异常,只是如果你想要做类似选项卡切换图表的隐藏和显示的话,这个问题就不得不直视了。废话讲了那么多,开始说解决方法。

在解决之前需要知道原因:相信网上一搜,基本上就可以确定大多数的情况都是一样的,那就是echarts图表隐藏之后再次显示可能会涉及到没有高宽度的问题,或者你可以右击检查一下你的图表的宽度此时是0还是NaN!!!  那么知道没有高宽度,那么就需要在display:block显示之前给它一个宽高,这样就没有问题了。那么这个宽高的设置可以有两种设置方法(目前我可以知道的想到的),一是在行间设置宽高,这样的宽高度就是固定的,永远都是那么多,比如说这样

这样子设置之后的话,可通过设置一个按钮来显示图表,那么显示是成功了,但是如果想要自适应窗口大小,跟随窗口大小变化而变化,那么这种方式就不可取了,就需要使用一种相对的宽高了,你有没有想到呢?那就是当前窗口的大小了,window.innerHeight   window.innerWidth;那么如果是两个图表,像我这样的话,可以封装一个函数来设置图表的宽和高,像这样:

但是我先说我这种写法比较死,高度没有用窗口的高度,宽度的话窗口宽度太宽了,所以我大概减了80px;没有把对象抽象出来当成参数来传递,所以不具有代码的复用性,大家可以根据这个自行封装一个复用性高的函数,那么这就是为两个图表设置好了宽度和高度,接下来就是在显示之前调用一下该函数,那么就意味着在显示之前我的图表有了宽度和高度,那么就可以显示了,如果想要改变窗口大小的时候图表也跟着变化的话,那么就由需要做一点小工作,如下:

后边的两个语句的意思是说(因为我有两个按钮,用于切换两个图表,那么每次按钮点击的时候都会自动去触发window.onresize事件,而不用等到我手动的去拖动窗口的时候,才去触发,这样的话就可以实现随时的自适应大小,而不会出现点击第一个按钮改变窗体大小之后,再去点击第二个按钮,会发现第二个按钮对应的图表没有根据之前变化的窗体大小而变化),所以要加上这么一句自动替我们触发resize事件,这是jquery的语法,不太清楚的童鞋可以百度一下。最后,还有一点:

这块代码就是自适应窗体大小的代码,这句和上面的trigger那句不冲突不重复的,一个是改变窗体大小,一个是点击按钮,两个都需要触发resize事件。

差不多就这些玩意儿了,大家可以根据自己的情况做相应的小调整,基本上就可以解决大多数这种类型的状况了。

转载于:https://www.cnblogs.com/Trista-l/p/7309454.html

echarts隐藏之后的显示问题相关推荐

  1. python 横坐标只显示部分数据_解决echarts中横坐标值显示不全(自动隐藏)问题

    echarts中,横轴数据如果非常多,会自动隐藏一部分数据,我们可以通过属性interval来进行调整. 如下图,当横轴时间为13天时,echarts会自动隔天显示 如果我们想显示全,则需要在xAxi ...

  2. echarts中横坐标值显示不全(自动隐藏)解决方案

    echarts中横坐标值显示不全自动隐藏解决方案 echarts中,横轴数据如果非常多,会自动隐藏一部分数据,我们可以通过属性interval来进行调整. 如下图,当横轴数据过多时,echarts会自 ...

  3. echarts隐藏掉一条曲线,并且tooltip提示框中不显示

    echarts隐藏掉一条曲线,并且tooltip提示框中不显示 两步走: 1.隐藏掉一条曲线 series: [{name: '...',type: 'line',symbolSize: 0, // ...

  4. echarts折线图默认显示最后一个点的数据

    echarts折线图默认显示最后一个点的数据 想要达到这种效果图如下: 如果你给折线图设置数据显示,那么要不就全部隐藏,要不就全部显示在折线上.实现指定点的显示就需要你自己去处理这个数据了. 方式有两 ...

  5. echarts饼图pie中间显示总数

    echarts饼图pie中间显示总数 有这样一种需求,饼图中间显示总数,当鼠标悬浮指定区域时显示对应区域数值 网上搜了好多都是通过zlevel来实现的这种效果,但是如果echarts的背景如果不是纯色 ...

  6. [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口

    原文:[WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 周银辉 现象: 大家可以试试下面这个很有趣但会带来Defect的现象:当我 ...

  7. 一个列用render渲染的时候,如果列宽度不够,内容多出的部分会被隐藏,无法显示。这时需要一个鼠标滑过提示全部内容的tip功能。...

    一个列用render渲染的时候,如果列宽度不够,内容多出的部分会被隐藏,无法显示.这时需要一个鼠标滑过提示全部内容的tip功能. 渲染的函数写成如下: function renderHallName( ...

  8. 正则表达式实现手机号中间4位数隐藏或者只显示末尾四位数

    下面看下正则表达式实现手机号中间4位数隐藏或者只显示末尾四位数 ? 1 2 // 匹配手机号首尾,以类似"123****8901"的形式输出 '12345678901'.repla ...

  9. jquery显示隐藏切换_jQuery显示,隐藏,切换

    jquery显示隐藏切换 Earlier we looked into how we can use jQuery get attribute, today we will look into thr ...

最新文章

  1. WIN8.1 PRO RTM VOL.2013.09.18
  2. 笔记 - Ali Cloud网络(VPC, SLB) 简介
  3. 大数问题(高精度运算)
  4. python3安装教程win10_在win10和linux上分别安装Python虚拟环境|python3教程|python入门|python教程...
  5. 【Flink】Flink 1.13 将数据 写入 到 elasticsearch 7 案例
  6. 一部分 数据 迁移_超原版速度110倍,针对PyTorch的CPU到GPU张量迁移工具开源
  7. 计算机科学的知识领域
  8. 基于OHCI的USB主机 —— USB设备其它数据结构
  9. asymptotic (infinite-training-sample)
  10. 安卓获取浏览器上网记录_Android 获取自带浏览器上网记录
  11. SQL中对一张表同时升序和降序的排序要求
  12. 你的健身方法真的正确吗
  13. CRM客户关系管理系统源码
  14. python手机端给电脑端发送数据_神途传奇 (手机端+电脑端) 数据互通 传奇来袭 www.8wf.com...
  15. 智慧园区数据可视化大屏的优势分析
  16. 物联网应用技术学习内容及就业前景
  17. Android Studio 使用Profiler时App崩溃闪退
  18. java坦克大战课设报告_java课程设计之坦克大战
  19. 数据分析从0到1之AARRR模型 - Blog2
  20. 案例:同程凤凰缓存系统基于Redis的设计与实践。

热门文章

  1. 关于MySQL分表操作的研究
  2. 美国政府悬赏数千万美元寻勒索组织线索、制裁及最近勒索事件概览
  3. 美国全国步枪协会遭 Grief 勒索软件攻击
  4. 《设计工作室生存手册》—第1章1.3节设计师目标要清晰
  5. 前端开发学习之——dom ready和window onload的区别
  6. WPF学习笔记——在“System.Windows.StaticResourceExtension”上提供值时引发了异常
  7. 〖Linux〗Debian 7.1.0 Wheezy使用ltib报错的解决办法
  8. 纯CSS实现的3D简洁按钮设计
  9. 揭秘Facebook官方底层C++函数Folly
  10. 造成ORA-01843 无效的月份 的一些原因