Layui集成Echarts,并在Layui轮播组件中实现Echarts多图表自适应

Layui集成Echarts,并在Layui轮播组件中实现Echarts多图表自适应
实现效果如 Layui模板 中的数据概览多图表自适应

一、Layui集成Echarts的配置
1.页面引入Echart.js

layui.config({
	    version: 1,
	    base: "<c:url value='/template/lead_into/js/'/>" //Echart.js所在的文件夹
	}).use(['element', 'echarts'], function() {
		var element = layui.element,
		$ = layui.jquery,
		echarts = layui.echarts;
		//在这里写Echarts的代码
});     

2.Echart.js配置Layui
需要在开始位置添加

window.layui && layui.define ? layui.define(function(exports){exports(‘echarts’,factory(exports))}) :

原配置

(function (global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : factory(global.echarts = {});
  
})(this, function (exports) {

新配置

(function (global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) :
	  window.layui && layui.define ? layui.define(function(exports){exports('echarts',factory(exports))}) : factory(global.echarts = {});
  
})(this, function (exports) {

js最后结束位置需要添加 return exports;

  exports.env = env;
  exports.List = List;
  exports.Model = Model;
  exports.Axis = Axis;
  exports.innerDrawElementOnCanvas = brushSingle;
  return exports;
});

二、使用Layui新增Echarts图表
1.单图表集成方法并支持自适应

layui.config({
	    version: 1,
	    base: "<c:url value='/template/lead_into/js/'/>" //Echart.js所在的文件夹
	}).use(['element', 'echarts'], function() {
		var element = layui.element,
		$ = layui.jquery,
		echarts = layui.echarts;
		var myChart01Dom = document.getElementById('VisualizationZhe');
		myChart01 = echarts.init(myChart01Dom);
		//指定图表配置项和数据
	    var optionchart = {
	   		title: {
   		        left: 'center',
   		        text: '今日流量趋势',
	   		},
    		xAxis: {
    	        type: 'category',
    	        boundaryGap: false,
    	        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    	    },
    	    yAxis: {
    	        type: 'value'
    	    },
    	    series: [{
    	        data: [0,2500,3000,10000,8888,5600,1006],
    	        type: 'line',
    	        smooth: true,
    	        areaStyle: {}
    	    }]
	    };
	    myChart01.setOption(optionchart, true);
	    //单图时自适应
	    //window.onresize = chartZhu.resize;
	});

PS: 单图表时直接在最后加**window.onresize = chartZhu.resize;**即可
2.多图表集成自适应

//多图时自适应
 window.addEventListener("resize", function () {
	myChart01.resize();
    myChart02.resize();
});

三、Layui轮播组件中实现多图表自适应
实现效果如 Layui模板 中的数据概览多图表自适应
Layui图表一
Layui图表二
很简单,只需要监听轮播组件的轮播事件即可,即切换时重置Echarts图表

//监听轮播切换事件
	carousel.on('change(LAY-index-dataview)', function(obj){ //对应lay-filter
	    myChart01.resize();
	    myChart02.resize();
	 });

HTML代码

<div id="index_carousel_style2" class="layui-carousel layadmin-carousel layadmin-dataview" data-anim="fade" lay-filter="LAY-index-dataview">
                  <div carousel-item id="LAY-index-dataview">
                     <div id="VisualizationZhe"></div>   
                     <div id="VisualizationBing"></div>
                  </div> 
                </div>

PS轮播组件无需点击,悬浮跳转的配置 trigger : 'mouseover’

//建造实例
  carousel.render({
    elem: '#index_carousel_style2'
    ,width: '100%' //设置容器宽度
    ,arrow: 'none' //切换箭头默认显示状态 hover(悬停显示)always(始终显示)none(始终不显示)
    ,anim: 'fade' //切换动画方式
    ,indicator : 'inside'	//指示器位置,可选值为:inside(容器内部)outside(容器外部)none(不显示)
    ,autoplay : false	//自动切换
    ,trigger : 'mouseover'	//无需点击 悬浮跳转   click 需要点击
  });
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Echarts是一款功能强大的数据可视化库,旨在以简洁、直观的图表形式展示数据。如果我们想要实现多个图表轮播效果,可以利用Echarts的动态数据更新功能和定时器来实现。 首先,我们需要创建一个包含多个图表的容器,可以使用div元素来实现。然后,根据需要创建多个Echarts实例,并将其分别放入容器。 接下来,我们可以使用JavaScript的定时器函数(例如setInterval)来控制图表的切换。在每个定时器的回调函数,我们可以通过修改Echarts实例的选项和数据来更新图表展示内容。可以根据需要制定每个图表的停留时间,然后在固定的时间间隔后切换到下一个图表。 为了使图表切换更加平滑连续,我们可以使用Echarts提供的数据更新方法(如setOption)来更新图表的数据和选项,而不是销毁并重新创建新的图表实例。 另外,如果希望图表之间的切换有一定的过渡效果,我们还可以通过CSS的过渡属性(如transition)来为图表容器添加过渡效果,使图表之间的切换更加平滑。 总结来说,实现Echarts多个图表轮播效果需要以下几个步骤:创建包含多个图表的容器、创建多个Echarts实例、使用定时器函数控制切换、通过修改Echarts实例的选项和数据来更新图表内容、为图表容器添加过渡效果等。通过这些步骤的组合,我们可以实现多个图表轮播效果,使数据以动态的方式进行展示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值