Element走马灯组件循环播放两个页面是方向不一致

server/2024/11/14 12:33:26/

摘要:使用Carousel 走马灯循环播放同一类型的图片、文字等内容,会在循环内容为两组是出现下图 [1]中的现象。本文记录下如何解决

        之前项目遇到过一次这个问题,由于indicator-position 指示器不用显示,则判断内容长度为2时,复制一份原数据(数据和图片达4组)即可解决。这次再次遇到沿用原来的办法复制数据后,完善对底部指示器的处理。

        解决思路:复制数据后4个指示器,展示内容1,2时隐藏指示器3,4;反之,展示内容3,4是隐藏1,2。

        首先,在引入的组件中增加相关样式和属性。

javascript"><el-carousel height="350px" :class="[{'twoLoopInitData':isInitData && isDataTwoLoop}, 
{'twoLoopCopyData':!isInitData && isDataTwoLoop}]" :interval="6000" @change="carouselChange"><el-carousel-item v-for="(itemList, index) in bookMarkItemList" :key="index"><div class="content-wrapper"><!-- 展示内容--></div></el-carousel-item>
</el-carousel>

        其次,判断内容是不是两页,若是则复制数据。此处绑定的数据bookMarkItemList是接口返回的,可能会变化,通过watch监听bookMarkItemList,判断其长度是否为2,则isDataTwoLoop = true。还会通过el-carousel组件的chang事件判断索引是isInitData(第1,2页)还是复制的数据。

javascript"><script>
export default {data() {return {bookMarkItemList: [],isInitData: true,isDataTwoLoop: false,}},computed: {},watch: {bookMarkItemList() {if (this.bookMarkItemList.length === 2) {  // 解决走马灯两页显示滑动方向不正确的问题this.isDataTwoLoop = truethis.bookMarkItemList = this.bookMarkItemList.concat(this.bookMarkItemList)}},},mounted() {},beforeDestroy() {},methods: {// el-carousel组件的chang事件,只支持传入indexcarouselChange(index) {if(index === 0||index === 1){this.isInitData = true}else{this.isInitData = false}},   },
}
</script>

        最后,依据上述判断结果,原始数据展示时,则隐藏复制数据的指示器;展示复制数据则隐藏原始数据的指示器。::v-deep是为了修改Element默认样式

javascript">.twoLoopCopyData{ // 解决走马灯两页切换时,方向不对的问题::v-deep .el-carousel__indicators{&>li:nth-child(1),&>li:nth-child(2){display: none;}}
}.twoLoopInitData{::v-deep .el-carousel__indicators{&>li:nth-child(3),&>li:nth-child(4){display: none;}}
}

        总结:问题的解决思路很清晰,上述代码可直接套用

[1] https://blog.csdn.net/Working_hard_111/article/details/131833892


http://www.ppmy.cn/server/119185.html

相关文章

PHP省时省力海报在线制作系统小程序源码

省时省力海报在线制作系统&#xff1a;设计小白也能秒变大师 &#x1f3a8; 开篇&#xff1a;告别繁琐&#xff0c;拥抱高效设计 你还在为设计一张海报而熬夜加班吗&#xff1f;还在为找不到合适的素材而焦头烂额吗&#xff1f;别担心&#xff0c;“省时省力海报在线制作系统”…

道路裂缝,坑洼,病害数据集-包括无人机视角,摩托车视角,车辆视角覆盖道路

道路裂缝&#xff0c;坑洼&#xff0c;病害数据集 包括无人机视角&#xff0c;摩托车视角&#xff0c;车辆视角 覆盖道路所有问题 一共有八类16000张 1到7依次为: [横向裂缝, 纵向裂缝, 块状裂缝, 龟裂, 坑槽, 修补网状裂缝, 修补裂缝, 修补坑槽] 道路病害&#xff08;如裂缝、…

【论文串烧】多媒体推荐中的模态平衡学习 | 音视频语音识别中丢失导致的模态偏差对丢失视频帧鲁棒性的影响

文章目录 一、多媒体推荐中的模态平衡学习1.1 研究背景1.2 解决问题1.3 实施方案1.4 文章摘要1.5 文章重点1.6 文章图示图 1&#xff1a;不同模型变体在 AmazonClothing 数据集上的初步研究图 2&#xff1a;CKD模型架构的说明图 3&#xff1a;在 Amazon-Clothing 数据集上训练过…

PostgreSQL - SQL语句1

本文翻译整理自&#xff1a;https://www.postgresql.org/docs/15/sql.html 文章目录 第4章 SQL语法4.1 词汇结构4.1.1标识符和关键词4.1.2常数4.1.2.1字符串常量4.1.2.2 具有C样式转义的字符串常量4.1.2.3 具有Unicode转义的字符串常量4.1.2.4美元报价字符串常量4.1.2.5位串常量…

npm install报错,gyp verb `which` failed Error: not found: python

主要错误 gyp verb which failed Error: not found: python2 gyp ERR! configure error gyp ERR! stack Error: Cant find Python executable "python", you can set the PYTHON env variable. npm ERR! node-sass4.14.1 postinstall: node scripts/build.js 全部错…

leetcode练习 格雷编码

n 位格雷码序列 是一个由 2n 个整数组成的序列&#xff0c;其中&#xff1a; 每个整数都在范围 [0, 2n - 1] 内&#xff08;含 0 和 2n - 1&#xff09;第一个整数是 0一个整数在序列中出现 不超过一次每对 相邻 整数的二进制表示 恰好一位不同 &#xff0c;且第一个 和 最后一…

CSP-J 计算机网络

文章目录 前言计算机网络的定义计算机网络的发展计算机网络的主要功能计算机网络的分类按网络地理范围分类按网络拓扑结构分类 OSI模型与TCP/IP模型OSI模型TCP/IP模型OSI模型与TCP/IP模型的网络协议及功能 IP地址域名1. **通用顶级域名&#xff08;gTLD&#xff0c;Generic Top…

栈和队列的算法题目(C语言)

1. 括号匹配问题 20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 利用栈后入先出的特性解题 1.判断字符串是否为空 为空返回 2.创建栈&#xff0c;遍历字符串 第一个字符是左括号的情况&#xff1a;入栈->继续遍历下一个字符 第一个字符是右括号的情况&#xf…