效果图
实现思路
主要运用到小程序自带视图容器《swiper》
运用到的属性《vertical》《display-multiple-items》《current》《animationfinish》
滑动方向变为纵向
vertical:true
显示的滑块数量
display-multiple-items:5
当前所在滑块的 index
current:0
动画结束时触发事件
@animationfinish(事件名)
这里我使用的是VUE3仅供参考
<view class="swiper-bottom-box flex">
<view class="swiper-bottom-border" />
<swiper vertical class="swiper-bottom-item" :display-multiple-items="5"
:current="parseInt(props.jointModel.startHour) - 6"
@animationfinish="endUpdate($event,1,6)">
<block v-for="(item,index) in timeArr" :key="index">
<swiper-item>
<view class="swiper-bottom-cell">
{{ item.text }}
</view>
</swiper-item>
</block>
</swiper>
<view>:</view>
<swiper vertical class="swiper-bottom-item" :display-multiple-items="5"
:current="parseInt(props.jointModel.startMinute)"
@animationfinish="endUpdate($event,2,0)">
<block v-for="(item,index) in divideArr" :key="index">
<swiper-item>
<view class="swiper-bottom-cell">
{{ item.text }}
</view>
</swiper-item>
</block>
</swiper>
<view>─</view>
<swiper vertical class="swiper-bottom-item" :display-multiple-items="5"
:current="parseInt(props.jointModel.endHour) - 6"
@animationfinish="endUpdate($event,3,6)">
<block v-for="(item,index) in timeArr" :key="index">
<swiper-item>
<view class="swiper-bottom-cell">
{{ item.text }}
</view>
</swiper-item>
</block>
</swiper>
<view>:</view>
<swiper vertical class="swiper-bottom-item" :display-multiple-items="5"
:current="parseInt(props.jointModel.endMinute)"
@animationfinish="endUpdate($event,4,0)">
<block v-for="(item,index) in divideArr" :key="index">
<swiper-item>
<view class="swiper-bottom-cell">
{{ item.text }}
</view>
</swiper-item>
</block>
</swiper>
</view>
遇到问题可以看我主页加我Q,很少看博客,对你有帮助别忘记点赞收藏。