echarts忽隐忽现问题

今天同事在做回收项目,里面用到echarts描绘一个图表,图表上面有一个可伸缩的列表,如下图所示:


这种情况下,图表显示是正常的,但是当用户点击“估价详情”右侧按钮展开后,再伸缩时,它神奇地消失了~~~,再展开,出现,再伸缩,消失~~~下面是截图(因为问题已经解决,忘了用手机截图,就直接ps还原一下吧):


然后我开始找原因,首先,我要确认图表是被顶下去了,还是消失了,然后我给图标的父元素给了一个red背景色,发现,一直在,然后用js,$(ele).offset().top来查看图表元素canvas有没有一直在,结果发现,一直都在,那就是说,其实图表还在。


知道这个之后,我又把图表和估价详情换了个位置,发现,图表会一直都在,那就表明,图表会消失,是因为估价详情。


后来我不断地还原bug场景,发现,只有在估价详情的长度足够把图表往下顶到手机界面以外了,再把估价详情缩回去后,图表才会消失。

确定了是因为估价详情的影响,但是又不能更换位置,那就需要找原因了,首先百度了一下,echarts图表会消失的原因,没有找到相同的案例,但是找到了一个类似的,博主的解决方法如下:

官方文档如下:

ECharts没有绑定resize事件,显示区域大小发生改变内部并不知道,使用方可以根据自己的需求绑定关心的事件,主动调用resize达到自适应的效果,常见如window.onresize = myChart.resize。

"

当时看到这个,心想,我也许不知道原因,但是,我貌似看了解决办法的曙光啊,然后我就在点击股价详情按钮事件的地方,把这段代码放进去了,结果。。。木有用,但是,我内心的小九九告诉自己,看解释,这个应该是可以的呀,于是我去看了官方文档,找到api:


确认过眼神,我找到了对的人,不过,看api,只需要将上面博主的代码,更换成

mycharts.resize()

就可以了,然后运行。。binggo~~~~虽然问题解决了,但是原因其实我还是没找到,因为官方文档是说resize是因为图表的父容器大小更改了,导致图表找不到容器的实际高宽,然而。。我这个容器的高宽一直都没变。。。。当下,对我来说,这是个不解之谜~~





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值