时间:2021-05-18
先给大家展示下效果图,大家感觉不错,请参考实现代码:
实现原理:点击按钮,往需要动画的div中添加或移除拥有动画效果的class。
由于微信小程序中不能操作page这个根节点,所以,只有用一个div(view)来模仿page根节点。
1.结构
<view class='page {{isFix?"pageShow":"pageHide"}}' > <view class='header'> <view class='h-toggle iconfont icon-list' bindtap='pageBtn'></view> </view></view><view class='r-box {{isFix?"fixShow":"fixHide"}}' bindtap='fixHide'> <view class='r-list' catchtap='fixStopBu'> <view class='rl-close' catchtap='fixClose'> <text class='iconfont icon-close'></text> </view> </view></view>上面的是最主要的结构,其它的内容就不贴了。
(1) isFix是切换动画名的状态
(2) r-box设置了bindtap点击事件之后,r-list也设置了一个不冒泡的catchtap事件,是为了实现点击r-box的空白处时,不冒泡的效果。
2.样式
page { height: 100%; width: 100%;}.page { width: 100%; height: 100%; box-shadow: 0 0 10px rgba(26,26,26,.1);}.r-box { position: fixed; top: 0; right: 0; width: 100%; height: 100%;}.r-box .r-list { float: right; width: 66%; height: 100%; background: white;}.fixHide { transition: all .3s ease; transform: translateX(100%);}.fixShow { transition: all .3s ease; transform: translateX(0%);}.pageHide { transition: all .3s ease; transform: translateX(0) scaleY(1);}.pageShow { transition: all .3s ease; transform: translateX(-70%) scaleY(0.9);}这些是最主要的样式:
(1) class为page的div(view),就是模拟整个page页面,所以宽高需要设为100%。
(2) r-box是右边侧滑的div(view)
(3) fixHide,fixShow这是侧滑栏的动画效果。
(4) pageHide,pageShow这是整个页面的动画效果
(5) 由于transform只能出现一次,所以当有两个即以上的动画效果时,只写在一个transform里,然后把不同的动画效果分开就行。
(6) 过渡效果的速度曲线我使用的是ease,如果用linear,在手机上会感觉很卡顿。
3.js
Page({ data:{ isFix:false,//右侧列表是否显示 }, // 右侧列表显示按钮 pageBtn:function(){ this.setData({ isFix:true }) }, //右侧列表空白点击 fixHide:function(){ this.setData({ isFix: false }) }, //右侧列表防冒泡,必须有,虽然没内容 fixStopBu: function () {}, //右侧列表关闭按钮 fixClose:function(){ this.setData({ isFix:false }) },})实现的过程大致就是这样。还是挺简单的。不知道用小程序的动画api做起来会不会简单一些或者更顺畅一点,这个就看自己勤不勤了。
总结
以上所述是小编给大家介绍的微信小程序页面缩放式侧滑效果的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
微信小程序侧滑删除(左滑删除)如图所示,demo是小程序的侧滑删除,这个是我在别人写的例子的基础上修改的。代码如下js文件代码://pages/leftSwip
本文实例为大家分享了微信小程序实现页面左右滑动的具体代码,供大家参考,具体内容如下效果:wxml文件{{open?'手指左滑':'手指右滑'}}我是内容
微信小程序弹框和模态框实现代码实现效果图:实现代码:.wxapp-modal{width:100%;height:100%;position:fi
微信小程序实现左滑删除效果的具体代码,供大家参考,具体内容如下.wxml{{item.content}}删除.jsPage({data:{delBtnWidth
本文介绍了微信小程序滑动选择器的实现代码,分享给大家,具体如下:实现微信小程序滑动选择效果在wxml文件中,用一个picker标签代表选择器,bindchang