小程序Swiper做Tab切换,带tab切换动画

小程序Swiper做Tab切换,带tab切换动画,第1张

微信小程序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 事件,eventdetail = {dx: dx, dy: dy},dx则是平移的偏移量,我们可以通过这个监听来实时设置slider的位置。

切换后校正slider的位置,这里我们不能使用bindchange来校正,因为bindchange在切换时手指释放的时候就调用了,我们这里使用bindanimationfinish回调来校正(动画结束时会触发 animationfinish 事件,eventdetail 同上)

最终:展示如下

在小程序开发文档中明确说明了最好不要频繁调用setData,我们最后这种方式就会频繁的调用,所以这里其实只是提供这种思路,但是工程中并不建议这么使用

小程序开发者文档

SwiperTab

有上翻的动画,有商品展示,有分享,以及跳到视频库。之前网上找了很多,说swiper不能套video,现在已经可以了,第二种是把封面平铺下来,滚动的是封面那种,效果不好

首先用一个cover-view来控制上下滚空,监听touch事件,让swiper的index+1或者-1

swiper包裹这video,swiper不能自动滚动,但是必须要设置衔接的属性。

js里面onshow的那个地方是我们点击tabbar的时候不需要再次调接口,做的处理,如果不是tabbar,可以直接再onload里面调后端数据

注意的是,在开发中,只要不是本地的视频,掉了接口,然后ios的前两个视频就是黑屏,后来加上了custom-cache="{{false}}">就解决了

注意的另一个兼容的是,只有cover-view才能覆盖再原生video之上,像轮播购买记录的那个地方,cover-view不能包swiper,所有有的手机是被视频遮住的

如果不妨到tabbar里的话,就是全屏播放了,头部自定义,然后左右两边也没有黑色没撑满了

通过执行其他动画的配置可以实现跨组件动画触发,以实现丰富的交互效果。执行其他动画的数量可无限叠加。配置 *** 作也非常简单。

添加执行其他动画配置,添加配置项以实现同时触发多个组件的多个动画,数量可以无限叠加。

选择所属组件,选择目标动画所属的组件。

选择目标动画,选择被执行的目标动画。

微信小程序ios中设置动画卡顿解决步骤:

1、微信缓存过多,清理微信缓存后再使用小程序尝试,微信-我-设置-通用-微信存储空间-管理微信存储空间,清理缓存。

2、手机的问题,重启手机尝试。

3、联系微信客服进行解决。

(1)激萌

激萌是一款类似于美颜相机的拍摄软件,其出彩之处就在于上面汇聚了全网超火的贴纸,以及其个性美颜的功能。激萌上面的美颜滤镜不仅可以美化面部,还可以一键美体。并如果想用激萌来拍摄微信视频的话,那可以使用其短视频片段模板,帮助小白迅速上手。尽管激萌上面有两千多种动态贴纸,但是有的在当下的短视频风潮中还是有些过时

(2)秒剪

这是一款微信官方出品的视频制作app,具有AI智能剪辑的功能。只需要我们将素材导入,不需要 *** 作就能帮助我们自动剪辑包装。秒剪上面的滤镜以及转场特效也比较丰富,其视频制作的比例是比较适合于微信视频制作的,制作完成后可以直接在平台上分享,省时省力。但同样这款软件只适用于微信视频号,对其它的短视频平台不太友好。

(3)秀展网

秀展网是一个网页平台,但是也可以完成微信视频制作。秀展网有着和前两款软件类似的功能,但是其素材以及模板却要比前两款软件更加丰富新潮。并且秀展网的优势之处在于动画制作,博主们可以使用秀展网制作比较新颖的动画视频开头。秀展网支持导出的格式也比较多样,完全不必担心导入微信平台会被压缩像素。

要在小程序中实现滑动展示部分,可以使用小程序自带的swiper组件,具体步骤如下:

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 根据实际需求,设置滑动页的内容样式和布局。

通过以上步骤,就可以在小程序中实现滑动展示部分了。

很多时候在做tab导航的点击时我们都会要上一个过渡的动画,不然的话会显得生硬,用户没有达到比较佳的用户体验。如下图:

在开发者工具中预览效果

我们可以用两种方法实现这样动画,css3的过渡或者用js去控制。省事的当然是用css3来写啦,我们先来看看css3的具体实现。

css3实现:

先看最基本的wxml布局:

从图中可以看到,当前tap的line是用专门用一个元素来做的。那么怎么让line跟着tab走动呢?就是红圈部分,用translateX位移来移动,而transitions实现一个过渡效果。

curtab就是当前点击tab的index,点击的tab的index 250(一个tab的宽度)就能让line跟着走对应的位移了。

来看看js部分:

这样就能简单实现一个tab跟随动画啦。

(以上方法有个不足,就是tab的宽度是固定的,但是在实际开发中更多时候会遇到宽度不固定的情况。)

js实现:

有些喜欢折腾的同学说想要js来实现呢?当然也是可以的,用js来实现的思路也是一样,用控制line元素的translateX值。那么怎么知道应为位移多少呢?就是动态的去获取该位移的值,然后赋给translateX。

说到动态的去获取元素额left值,可以用到小程序的 wxcreateSelectorQuery 这个api在传入元素后返回元素的四个位移值。(这里不细说api的用户,不清楚的同学请自行查看文档哈哈哈)

那是不是可以:

来看看具体的实现:

emmm最后说一下,前端时间看到过一个很骚的 *** 作,同样是用纯css实现这种跟随动画,先看看效果图:

css

以上就是关于小程序Swiper做Tab切换,带tab切换动画全部的内容,包括:小程序Swiper做Tab切换,带tab切换动画、微信小程序模仿抖音,全屏播放且有流畅的动画、使用Towify制作小程序时,如何设置执行其他动画等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10114237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存