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


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 XML实现两级级联下拉列表
Nov 10 Javascript
基于jquery的loading 加载提示效果实现代码
Sep 01 Javascript
谈谈AngularJs中的隐藏和显示
Dec 09 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
Oct 31 Javascript
浅谈原型对象的常用开发模式
Jul 22 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
Sep 13 Javascript
input type=file 选择图片并且实现预览效果的实例
Oct 26 Javascript
vue 中 命名视图的用法实例详解
Aug 14 Javascript
原生javascript单例模式的应用实例分析
Feb 23 Javascript
JS严格模式原理与用法实例分析
Apr 27 Javascript
jQuery加PHP实现图片上传并提交的示例代码
Jul 16 jQuery
浅谈node.js中间件有哪些类型
Apr 29 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+Ajax实现唯一校验实现代码[简单应用]
2011/11/29 PHP
php一个找二层目录的小东东
2012/08/02 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php实现上传图片保存到数据库的方法
2015/02/11 PHP
php 把数字转换成汉字的代码
2015/07/21 PHP
php实现将Session写入数据库
2015/07/26 PHP
PHP读取Excel类文件
2017/05/15 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
php函数式编程简单示例
2019/08/08 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
浅析JavaScript动画
2015/06/10 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
vue实现图书管理系统
2020/12/29 Vue.js
Python通用循环的构造方法实例分析
2018/12/19 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
质检员岗位职责
2013/12/17 职场文书
元宵节主持词
2014/03/25 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
学校教师师德师风承诺书
2015/04/28 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python