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


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 函数中的参数使用分析
Mar 27 Javascript
javascript将浮点数转换成整数的三个方法
Jun 23 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
Feb 06 Javascript
论Bootstrap3和Foundation5网格系统的异同
May 16 Javascript
jQuery实现大图轮播
Feb 13 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
Mar 02 Javascript
Vue.js鼠标悬浮更换图片功能
May 17 Javascript
详解vue组件通信的三种方式
Jun 30 Javascript
基于require.js的使用(实例讲解)
Sep 07 Javascript
详谈commonjs模块与es6模块的区别
Oct 18 Javascript
animate.css在vue项目中的使用教程
Aug 05 Javascript
nuxt.js中间件实现拦截权限判断的方法
Nov 21 Javascript
详解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代码的53条建议
2008/03/27 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
2020/07/19 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
JQuery开发的数独游戏代码
2010/10/29 Javascript
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
深入解析JavaScript中函数的Currying柯里化
2016/03/19 Javascript
JavaScript设计模式开发中组合模式的使用教程
2016/05/18 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
使用Python来开发微信功能
2018/06/13 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
python把一个字符串切开的实例方法
2020/09/27 Python
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
党建示范点实施方案
2014/03/12 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android
微软PC Health Check电脑健康状况检查应用下载(Win11配置检测工具)
2021/06/26 数码科技
js 实现Material UI点击涟漪效果示例
2022/09/23 Javascript