问题描述:
在使用Echart3的时候只要在切换tab的时候,重新初始化和setOption图表就会显示,但是Echart4的时候这样操作图表并不显示,无意间resize窗口,这时图表就显示了。
解决方法:
切换窗口的时候除了执行重新初始化和setOption之外,再对图表进行resize()操作。
主要代码如下:
$(".tab button").click(function() {
var index = $(this).index();
$(this).addClass("active").siblings().removeClass("active");
tabpanes.eq(index).addClass("active").siblings().removeClass("active");
if (index == 0) {
var myChart1 = echarts.init(document.getElementById('lineChart'), theme);
myChart1.setOption(option);
myChart1.resize();
ObjectResize(myChart1.resize);
}
if (index == 1) {
var myChart2 = echarts.init(document.getElementById('polar'), theme);
myChart2.setOption(option1);
myChart2.resize();
ObjectResize(myChart2.resize);
}
})
默认状态,第一个选项卡被选中,展示第一个选项卡的内容;策略:第一个选项卡默认有被选中的样式,第一个选项卡对应的display: block,其他的dispaly设为none;选项卡模块:被点击的变为红底白字,其他的变为白底红字
相信tab切换对于大家来说都不算陌生,后台管理系统中多会用到。如果不知道的话,可以看一下浏览器上方的标签页切换,大概效果就是这样。
不同tab的js执行环境是不同的,因此变量不会共享,watcher也不会互相影响。可以利用 storage事件监控localstorge的变化 ,storege事件只能注册在window上
想要居中展示首先是需要找到中心点,然后在点击是计算偏移量,把对应的标签滚动到中心位置,获取点击时当前标签的DOM
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!