微信小程序页面缩放式侧滑效果的实现代码


Posted in Javascript onNovember 15, 2018

先给大家展示下效果图,大家感觉不错,请参考实现代码:

微信小程序页面缩放式侧滑效果的实现代码

实现原理:点击按钮,往需要动画的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做起来会不会简单一些或者更顺畅一点,这个就看自己勤不勤了。

总结

以上所述是小编给大家介绍的微信小程序页面缩放式侧滑效果的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript parseInt与Number函数的区别
Jan 21 Javascript
js判断文本框剩余可输入字数的方法
Feb 04 Javascript
prototype框架中美元符号$用法分析
Jan 22 Javascript
AngularJS中$interval的用法详解
Feb 02 Javascript
原生js实现放大镜效果
Jan 11 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
Jan 23 Javascript
ES6新增数据结构WeakSet的用法详解
Aug 07 Javascript
vue实现分页组件
Jun 16 Javascript
如何在Node和浏览器控制台中打印彩色文字
Jan 09 Javascript
JavaScript数组排序小程序实现解析
Jan 13 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
Feb 26 Javascript
Vue组件化(ref,props, mixin,.插件)详解
May 15 Vue.js
详解vue数组遍历方法forEach和map的原理解析和实际应用
Nov 15 #Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
Nov 15 #Javascript
判断iOS、Android以及PC端的示例代码
Nov 15 #Javascript
IE8中jQuery.load()加载页面不显示的原因
Nov 15 #jQuery
详解ES6 Fetch API HTTP请求实用指南
Nov 14 #Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
Nov 14 #Javascript
微信小程序中遇到的iOS兼容性问题小结
Nov 14 #Javascript
You might like
PHP EOT定界符的使用详解
2008/09/30 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
基于Vue单文件组件详解
2017/09/15 Javascript
node.js中npm包管理工具用法分析
2020/02/14 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
用实例说明python的*args和**kwargs用法
2013/11/01 Python
Python 多核并行计算的示例代码
2017/11/07 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
答题辅助python代码实现
2018/01/16 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
J2EE中的容器都包括哪些
2013/08/21 面试题
自荐书模板
2013/12/19 职场文书
主持人演讲稿范文
2013/12/28 职场文书
娱乐节目策划方案
2014/06/10 职场文书
代办委托书怎么写
2014/08/01 职场文书
普通党员整改措施
2014/10/24 职场文书
工程安全生产协议书
2014/11/21 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
2015年高一班主任工作总结
2015/05/13 职场文书
Pyhton模块和包相关知识总结
2021/05/12 Python
Win11 22H2 2022怎么更新? 获得Win1122H22022版本升级技巧
2022/09/23 数码科技