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


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 相关文章推荐
DIV外区域Click后关闭DIV的实现代码
Dec 21 Javascript
JS远程获取网页源代码实例
Sep 05 Javascript
js实现网页抽奖实例
Aug 05 Javascript
jquery表单验证需要做些什么
Nov 17 Javascript
深入浅析AngularJS和DataModel
Feb 16 Javascript
浅析ES6的八进制与二进制整数字面量
Aug 30 Javascript
5种JavaScript脚本加载的方式
Jan 16 Javascript
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
Jan 25 jQuery
vue和小程序项目中使用iconfont的方法
May 19 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
Jul 30 Javascript
JavaScript 事件捕获冒泡与捕获详情
Nov 11 Javascript
Vue router配置与使用分析讲解
Dec 24 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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
javascript定时器完整实例
2015/02/10 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
vue自定义指令限制输入框输入值的步骤与完整代码
2020/08/30 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
python实现得到一个给定类的虚函数
2014/09/28 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
python学生信息管理系统(初级版)
2018/10/17 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
python实现自动打卡的示例代码
2020/10/10 Python
七年级英语教学反思
2014/01/15 职场文书
青年教师典范事迹材料
2014/01/31 职场文书
小学语文国培感言
2014/03/04 职场文书
班风学风建设方案
2014/05/06 职场文书
任命书怎么写
2014/06/04 职场文书
护士节演讲稿开场白
2014/08/25 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
HttpClient实现表单提交上传文件
2022/08/14 Java/Android