Element图表初始大小及窗口自适应实现


Posted in Javascript onJuly 10, 2020

最近在做一个轮播图,使用的是element的Carousel走马灯,每一个走马灯里是eachrts图,开始页面加载的时候发现echarts图并不能自适应,开始以为是走马灯的问题,后来发现不是

不知道大家在用echarts的时候有没有遇到这种情况:

最开始盛放图表的容器是隐藏(或者tab切换)的,然后再显示的时候,里面echarts图表就没用初始大小了。比如我遇到的这种:

Element图表初始大小及窗口自适应实现

有童鞋这会儿估计看出原因了:因为元素最初隐藏,再显示之后没有自动变化宽度,所以echarts图表没有初始宽高,官方文档的说法:

Element图表初始大小及窗口自适应实现

请注意:这个宽度在一些情况下设置百分比 是没有作用的,所以得设置为具体数字或者用js赋值,类似这种:

$('main').style.width = (document.body.clientWidth-300)*0.6+'px';

P.S:这里没说高度是因为如果不给容器固定高度,图表是完成不显示的(高度为0的容器肯定不会显示哦)

那么如果想设置echart图表随窗口的缩放变化呢?以下两种写法都可以:

第一种:

window.onresize = myChart.resize;
// .resize后不用加括号哦,一般如果window resize的时候不设置其他,可以这样写

第二种:

window.onresize = function () {
    this.myChart.resize();
    // .resize后加括号哦,这里还可以写其他的事件
};

echarts官方文档写的很详细哦,需要的童鞋自己去翻阅。

具体到我的代码,我是这样实现的,因为我的容器是百分比写的,所以我的实现方式如下:

Element图表初始大小及窗口自适应实现

即是dom节点渲染以后,调用echarts实例的resize()方法;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript优化技巧(文件瘦身篇)
Jan 28 Javascript
js继承 Base类的源码解析
Dec 30 Javascript
Prototype的Class.create函数解析
Sep 22 Javascript
DOM基础教程之模型中的模型节点
Jan 19 Javascript
在jQuery中处理XML数据的大致方法
Aug 14 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
May 10 Javascript
微信小程序 表单Form实例详解(附源码)
Dec 22 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
Mar 13 Javascript
微信小程序教程系列之新建页面(4)
Apr 17 Javascript
微信小程序实现下载进度条的方法
Dec 08 Javascript
vue将毫秒数转化为正常日期格式的实例
Sep 16 Javascript
详解Vue串联过滤器的使用场景
Apr 30 Javascript
Vue路由切换页面不更新问题解决方案
Jul 10 #Javascript
简单了解Vue computed属性及watch区别
Jul 10 #Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
Jul 10 #Javascript
基于vue+element实现全局loading过程详解
Jul 10 #Javascript
JS sort方法基于数组对象属性值排序
Jul 10 #Javascript
JavaScript this指向相关原理及实例解析
Jul 10 #Javascript
JavaScript indexOf()原理及使用方法详解
Jul 09 #Javascript
You might like
PHP获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
php数据访问之增删改查操作
2016/05/09 PHP
yii 2.0中表单小部件的使用方法示例
2017/05/23 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
Javascript 圆角div的实现代码
2009/10/15 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
python的keyword模块用法实例分析
2015/06/30 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
教师评优事迹材料
2014/01/10 职场文书
安全生产承诺书
2014/03/26 职场文书
区长工作作风个人整改措施
2014/10/01 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
革命电影观后感
2015/06/18 职场文书
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL