这里主要利用了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
})
},
})
|
正在努力学习中,若对你的学习有帮助,留下你的印记呗(点个赞咯^_^)