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 相关文章推荐
又一个图片自动缩小的JS代码
Mar 10 Javascript
JavaScript中常见陷阱小结
Apr 27 Javascript
高效的表格行背景隔行变色及选定高亮的JS代码
Dec 04 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
Feb 23 Javascript
做好七件事帮你提升jQuery的性能
Feb 06 Javascript
js验证IP及子网掩码的合法性有效性示例
Apr 30 Javascript
Javascript实现代码折叠功能
Aug 25 Javascript
JavaScript闭包_动力节点Java学院整理
Jun 27 Javascript
ES6新增的math,Number方法
Aug 06 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
Nov 15 Javascript
React-native桥接Android原生开发详解
Jan 17 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
Jul 15 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代码
2006/12/06 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
JavaScript实现简单的时钟实例代码
2013/11/23 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
几行js代码实现自适应
2017/02/24 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
使用vue-router在Vue页面之间传递数据的方法
2019/07/15 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
Javascript原生ajax请求代码实例
2020/02/20 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
Python使用20行代码实现微信聊天机器人
2020/06/05 Python
Python 分布式缓存之Reids数据类型操作详解
2020/06/24 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
银行职员个人的工作自我评价
2014/02/15 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
库房保管员岗位职责
2014/04/07 职场文书
多媒体教室标语
2014/06/26 职场文书
国庆节慰问信
2015/02/15 职场文书
Python包argparse模块常用方法
2021/06/04 Python