您的位置:首页 > 房产 > 建筑 > flash网页制作_公众号开发神器_如何点击优化神马关键词排名_工具刷网站排刷排名软件

flash网页制作_公众号开发神器_如何点击优化神马关键词排名_工具刷网站排刷排名软件

2024/10/5 22:28:28 来源:https://blog.csdn.net/weixin_61933613/article/details/142344786  浏览:    关键词:flash网页制作_公众号开发神器_如何点击优化神马关键词排名_工具刷网站排刷排名软件
flash网页制作_公众号开发神器_如何点击优化神马关键词排名_工具刷网站排刷排名软件

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

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

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

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

<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页)还是复制的数据。

<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默认样式

.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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com