1. 在wxml文件中添加swiper组件代码:
```
<swiper class="swiper" indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">卜旁袜让
<swiper-item>
<!-- 第一个滑动页的内容 -->
</swiper-item>
<swiper-item>
<!-- 第二个滑动页的内容 -->
</swiper-item>
<swiper-item>
<!-- 第三个滑动页的内容 -->
</swiper-item>
</swiper>
```
2. 在对应的js文件中设置swiper组件的相关参数,例如:
```
Page({
data: {
indicatorDots: true, // 是否显示指示点
autoplay: true, // 是否自动切换
interval: 5000, // 自动切换时间间隔
duration: 1000 // 滑动动画时长
}
})
```
3. 根据实际需求,设置滑动页的内容样式和布局。
通过以上步骤,就可以在小程序中实现型好橡滑动展示部分了。
微信小程序Swiper做Tab切换,带tab切换动画
小程序中我们做tab切换一般情况下可以做点击切换,但是有Swiper组件,其实我们也可以做滑动切换
监听Swiper的bindchange,我们就可以在切换时改变tab的选装状态达到切换的目的。
但是这样的方式tab的切换方式是跳转式的,体验不是很好。于是就有了这个demo,我们一步步优化切换体验。
首先:利用flex布局,做出tab区域,如果tab选项卡很多可以使用Scroll-view;一般的跳转式的tab用boder-bottom实现就好,这里我们加了一个“navbar-slider”,加上translateX动画实现平移切换。
然后:计算出每个tabItem的宽度,和每个item距离0坐标的距离;下中50是slider的宽度,对应上面“width:50px”
关联:1、监听item点击,切换swiper;2、监听swiper切换改变slider位置和tab显示
效果展示如下:
现在我们已经实现了,Swiper和tab的带动画联动,但是我们可以发现,我们的切换动画是在切换之后郑旦贺进行的,我们这里还可以继续优化。
swiper在切换时可以监听bindtransition,swiper-item 的位置发生改变时会触发 transition 事件,event.detail = {dx: dx, dy: dy},dx则是平移的偏移量,我们可以通过这个监听来实时设置slider的位置。
切换后校正slider的位置,这喊派里我们不能使用bindchange来校正,因为bindchange在切换时手指释放的时候就调用了,我们这里使用bindanimationfinish回调来校正(动画结束时会触发 animationfinish 事件,event.detail 同上)
最终:展示如下
在小程序开发文档中明确说明了最好不要频繁调用setData,我们最后这种方式就会频繁的调用,所以这里其实只是提供这种思路,但是工程中并不迟告建议这么使用
小程序开发者文档
SwiperTab
swiper数量达到大约400+时候会出现明显滑动卡顿,渲染慢的问题,达到1000+时候需要几十秒时间,或者可能导致渲染失败。
配置握森 circular="true" 属性开启衔接滑动,即播放到末尾后重新回到开头段唯亩。然后固定用于展示的swiper-item只设置3个,当滑动时山模候去替换展示的数据。这种方法可以展示几千万的数据展示都没问题。
//页面源码
1、swiper-item的key一定要设置,并且用 index 。
2、如果只有一张情况,不想让它来回滚动。可以设置 circular ,但是 circular 无法直接动态设置,我们可以使用 computed 来设置
https://gitee.com/xiaoguoyao/uni-app
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)