这里主要利用了circular实现无限滚动,然后再加上前后间距,再设置图片的层级和透明度就可以实现了,将图片及容器的高度设置好就差不多可以实现了
<!--carousel/index.wxml--> <swiper class="imageContainer" bindchange="handleChange" previous-margin="50rpx" next-margin="50rpx" circular autoplay> <block wx:for="{{3}}" wx:key="{{index}}"> <swiper-item class="item"> <image class="itemImg {{currentIndex == index ? 'active': ''}}" src="../../../image/3.jpg"></image> </swiper-item> </block> </swiper> wxss文件 /* carousel/index.wxss */ page{ background: #f7f7f7f7; } .imageContainer{ width: 100%; height: 500rpx; background: #000; } .item{ height: 500rpx; } .itemImg{ position: absolute; width: 100%; height: 380rpx; border-radius: 15rpx; z-index: 5; opacity: 0.7; top: 13%; } .active{ opacity: 1; z-index: 10; height: 430rpx; top: 7%; transition:all .2s ease-in 0s; } JS文件 // carousel/index.js Page({ data: { currentIndex: 0 }, onLoad: function (options) { }, /* 这里实现控制中间凸显图片的样式 */ handleChange: function(e) { this.setData({ currentIndex: e.detail.current }) }, }) |
正在努力学习中,若对你的学习有帮助,留下你的印记呗(点个赞咯^_^)