ElementUI的走马灯效果应用
最近做一个大屏显示,需要循环遍历统计列表每行的数据,然后用循环到的当前行id
获取其他数据列表,以走马灯的形式显示,全程自动切换。即:(1)统计数据,第一行;-> (2)其他数据A; -> (3)其他数据B; ->(4)其他数据C; ->(1)统计数据,第二行;以此类推。本来用的是EasyUI
,发现EasyUI
上没有走马灯,然后就想到了用ElementUI
的 Carousel
组件。
以下是定义的四个数据列表的走马灯;
<div> <el-carousel ref="carousel" trigger="click" arrow="always" height="800px" indicator-position="outside" :initial-index="carouselIndex" :autoplay="false"> <el-carousel-item> <div id="TaskDataGird" style="background-color:#1e408a;" class="easyui-datagrid" ></div> </el-carousel-item> <el-carousel-item> <div id="TaskDataGird1" class="easyui-datagrid"> </div> </el-carousel-item> <el-carousel-item> <div id="TaskDataGird2" class="easyui-datagrid"> </div> </el-carousel-item> <el-carousel-item> <div id="TaskDataGird3" class="easyui-datagrid"> </div> </el-carousel-item> </el-carousel> </div>
定义了两个参数;
data: { carouselIndex: 0,// 滚动的看板索引 intervalTime: 10, // 滚动间隔时间 },
当页面渲染完成后,加一个定时器控制它的每间隔多长时间滚动显示;
created() { this.getRollTime(); }, mounted() { this.LoadDataGird(); // 加载统计数据 setInterval(this.switchCarousel, this.intervalTime * 1000); // 定时器,默认每10秒切换 },
滚动的方法,用this.$refs.carousel.setActiveItem(this.carouselIndex);
来设置滚动的索引切换幻灯片。
methods: { // 获取滚动时间 getRollTime() { $.get("Ajax/Ajax.ashx?OperateType=GetRollTime", function (data) { var obj = JSON.parse(data); if (obj.ResultCode == "True") { this.intervalTime = obj.obj; } }, 'text'); }, // 滚动切换 switchCarousel() { // 切换走马灯 this.$refs.carousel.setActiveItem(this.carouselIndex); // 根据走马灯索引加载数据 switch (this.carouselIndex) { case 0: $('#TaskDataGird').datagrid("selectRow", statisticsRow); var row = $('#TaskDataGird').datagrid("getSelected"); ID = row.ID; // 循环统计数据行 statisticsRow++; if (statisticsRow > rowAll - 1) { statisticsRow = 0; } break; case 1: this.LoadDataGird1(); break; case 2: this.LoadDataGird2(); break; case 3: this.LoadDataGird3(); break; default: } this.carouselIndex++; if (this.carouselIndex == 4) { this.carouselIndex = 0; } }, },
另外为了使走马灯按钮清晰一些,我放大了切换按钮和指示器,加深了一些颜色;
<style lang="scss" scoped> /*指示器*/ .el-carousel__button { width: 60px; height: 20px; /*background-color: black;*/ } .el-carousel__indicators--outside button { background-color: black; opacity: .24; } /*切换按钮*/ .el-carousel__arrow { width: 60px; height: 60px; background-color: rgba(31,45,61,.30) } </style>
最后的效果;
本文来自博客园,作者:一纸年华,转载请注明原文链接:https://www.cnblogs.com/nullcodeworld/p/15330986.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)