微信小程序实现类3D轮播图
程序员文章站
2022-03-31 10:06:03
...
可以使用小程序自带的轮播swiper组件进行修改
文档:https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html
先上效果图:
swiper的相关属性
- indicator-dots 是否显示小圆点,也可以自己重新设置小圆点
- circular 是否衔接滑动,就是实现无限滚动
- previous-margin 与上一张图片的间距
- next-margin 与下一张图片的间距
- autoplay 实现自动滚动
这里主要利用了circular实现无限滚动,然后再加上前后间距,再设置图片的层级和透明度就可以实现了,将图片及容器的高度设置好就差不多可以实现了
<!-- 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="https://avatar.csdn.net/6/7/F/1_laishaojiang.jpg?1536044509"></image>
</swiper-item>
</block>
</swiper>
/* index.wxss */
.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;
}
// index.js
Page({
data: {
currentIndex: 0
},
/* 这里实现控制中间凸显图片的样式 */
handleChange: function (e) {
this.setData({
currentIndex: e.detail.current
})
}
})
很简单就实现了~~
下一篇: JS编程风格规范