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


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 相关文章推荐
js replace正则表达式应用案例讲解
Jan 17 Javascript
javascript父、子页面交互技巧总结
Aug 08 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
May 06 Javascript
javascript日期格式化方法汇总
Oct 04 Javascript
java必学必会之static关键字
Dec 03 Javascript
jquery实现无刷新验证码的简单实例
May 19 Javascript
jQuery用FormData实现文件上传的方法
Nov 21 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
Jan 16 Javascript
vue监听input标签的value值方法
Aug 27 Javascript
iview实现select tree树形下拉框的示例代码
Dec 21 Javascript
js中事件对象和事件委托的介绍
Jan 21 Javascript
js神秘的电报密码 哈弗曼编码实现
Sep 10 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
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
php 保留字列表
2012/10/04 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
推荐10个超棒的jQuery工具提示插件
2011/10/11 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
2013/08/02 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
javaScript中slice函数用法实例分析
2015/06/08 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
jquery编写日期选择器
2017/03/16 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
Python判断Abundant Number的方法
2015/06/15 Python
对python_discover方法遍历所有执行的用例详解
2019/02/13 Python
Python如何访问字符串中的值
2020/02/09 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
医学类个人求职信范文
2014/02/05 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers