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 相关文章推荐
jQuery 版元素拖拽原型代码
Apr 25 Javascript
html+js实现动态显示本地时间
Sep 21 Javascript
js 去除字符串第一位逗号的方法
Jun 07 Javascript
JQuery中Text方法用法实例分析
May 18 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
Apr 09 Javascript
vue中,在本地缓存中读写数据的方法
Sep 21 Javascript
jsonp跨域获取百度联想词的方法分析
May 13 Javascript
JS数组Object.keys()方法的使用示例
Jun 05 Javascript
ES6 Array常用扩展的应用实例分析
Jun 26 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
Jun 28 Javascript
JS如何实现在弹出窗口中加载页面
Dec 03 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过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
Js的MessageBox
2006/12/03 Javascript
比较搞笑的js陷阱题
2010/02/07 Javascript
JS实现self的resend
2010/07/22 Javascript
js实现上传图片之上传前预览图片
2013/03/25 Javascript
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
js实现身份证号码验证的简单实例
2014/02/19 Javascript
js图片实时加载提供网页打开速度
2014/09/11 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
vue绑定class与行间样式style详解
2017/08/16 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
简述vue状态管理模式之vuex
2018/08/29 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
微信小程序与公众号实现数据互通的方法
2019/07/25 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
在类Unix系统上开始Python3编程入门
2015/08/20 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
谈谈Python中的while循环语句
2019/03/10 Python
简单了解python代码优化小技巧
2019/07/08 Python
世界顶级俱乐部的官方球衣和套装:Subside Sports
2018/04/22 全球购物
人事助理岗位职责
2013/11/18 职场文书
兼职业务员岗位职责
2014/01/01 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
知识竞赛拉拉队口号
2014/06/16 职场文书
运动会运动员赞词
2015/07/22 职场文书
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技