微信小程序-使用swiper和css实现卡牌左右滑动切换、翻牌效果。

最近公司开发了一款偏向社交类的小程序,然后我们逼(sao)格(qi)特高的UI大神,在设计时,考虑到我们产品的特殊性,于是给每个上推荐的候选人设计了一种类似卡牌的交互效果。

但我们的功能实现还是比较简单的,只需要左右滑动切换卡牌,当前选中的卡牌适度放大突出显示,见下图。

微信小程序-swiper卡牌切换、左右滑动、翻牌效果。

 

具体实现效果,扫面下方小程序二维码查看(当前版本:v1.1.2):

微信小程序-swiper卡牌切换、左右滑动、翻牌效果。
微信扫一扫,查看 《我想找对象》小程序

 

 

but,后续整理代码的时候,突发奇想,又增加了一点小特效,实现一个翻牌效果。

具体用途的话,或许可以作为一个电影海报、刮卡活动等小程序交互使用。比如:支付宝的集五福。

 

下面是主要使用的方法、api等。

 

滑块功能

    使用了微信小程序组件-滑块视图容器 Swiper (查看官方文档).

微信小程序-swiper卡牌切换、左右滑动、翻牌效果。

 

翻牌旋转效果

    使用了Css3的一些属性:perspectivebackface-visibilitytransform

perspective:3000rpx;  /*perspective 属性定义 3D 元素距视图的距离,以像素计。该属性允许您改变 3D 元素查看 3D 元素的视图。
当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身。*/
backface-visibility:hidden;  /*背对屏幕时隐藏*/
transform-style: preserve-3d;  /*子元素将保留其3D位置。*/
transform:rotateY(180deg);  /*定义沿着Y轴的3D旋转。*/

 

有想法的童鞋。可以参考《Css3实现翻牌效果》这个demo源码。

 

结合以上方法,最终实现效果如下

演示视频效果见https://www.duoguyu.com/smart/27.html

 

视频截图如下:

微信小程序-swiper卡牌切换、左右滑动、翻牌效果。

微信小程序-swiper卡牌切换、左右滑动、翻牌效果。

 

源码Demo下载地址https://www.duoguyu.com/smart/27.html

 

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
是的,可以使用swiper和scroll-view组件实现微信小程序左右分页功能。 首先,在wxml文件中添加swiper和scroll-view组件,并设置相应的属性。 ```html <swiper class="swiper-container" current="{{current}}" duration="{{500}}" style="height:{{pageHeight}}px"> <swiper-item> <scroll-view class="scroll-view" scroll-x="{{true}}" scroll-y="{{false}}" style="width:{{windowWidth}}px;height:{{pageHeight}}px;"> <!--第一页内容--> </scroll-view> </swiper-item> <swiper-item> <scroll-view class="scroll-view" scroll-x="{{true}}" scroll-y="{{false}}" style="width:{{windowWidth}}px;height:{{pageHeight}}px;"> <!--第二页内容--> </scroll-view> </swiper-item> <!--更多swiper-item--> </swiper> ``` 其中,swiper组件设置了current属性,用于控制当前显示的页码;scroll-view组件设置了scroll-x属性,用于开启水平方向的滚动,并设置了样式宽度为屏幕宽度,高度为页面高度。 接着,在js文件中,监听swiper组件的change事件,用于动态更新当前页码。 ```javascript Page({ data: { current: 0, windowWidth: wx.getSystemInfoSync().windowWidth, pageHeight: wx.getSystemInfoSync().windowHeight }, onLoad: function () { //... }, onPageChange: function (e) { this.setData({ current: e.detail.current }) } }) ``` 最后,在样式文件中,设置swiper-container和scroll-view的样式,用于实现左右分页效果。 ```css .swiper-container { overflow: hidden; position: relative; } .scroll-view { white-space: nowrap; } .swiper-item { display: inline-block; vertical-align: top; width: 100%; } ``` 以上就是使用swiper和scroll-view组件实现微信小程序左右分页功能的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值