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


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 相关文章推荐
?牟┛途W扣了一??效果出?? target=
May 27 Javascript
用JSON做数据传输格式中的一些问题总结
Dec 21 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
Apr 13 Javascript
JavaScript设计模式开发中组合模式的使用教程
May 18 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
Jun 12 Javascript
详解Node.js 命令行程序开发教程
Jun 07 Javascript
详解使用VueJS开发项目中的兼容问题
Aug 02 Javascript
vue如何根据网站路由判断页面主题色详解
Nov 02 Javascript
Nginx设置为Node.js的前端服务器方法总结
Mar 27 Javascript
jQuery Migrate 插件用法实例详解
May 22 jQuery
koa中间件核心(koa-compose)源码解读分析
Jun 15 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
Nov 06 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之PHP语法学习笔记1
2006/12/17 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
PHP数组函数知识汇总
2016/05/12 PHP
PHP 无限级分类
2017/05/04 PHP
php高清晰度无损图片压缩功能的实现代码
2018/12/09 PHP
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
使用JQuery库提供的扩展功能实现自定义方法
2014/09/09 Javascript
JavaScript实现控制打开文件另存为对话框的方法
2015/04/17 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
vue+mock.js实现前后端分离
2019/07/24 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
es6函数name属性功能与用法实例分析
2020/04/18 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
python通过floor函数舍弃小数位的方法
2015/03/17 Python
Python实现获取操作系统版本信息方法
2015/04/08 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
在vscode中配置python环境过程解析
2019/09/28 Python
Python selenium的基本使用方法分析
2019/12/21 Python
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
小学教师事迹材料
2014/01/13 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
公安局班子个人对照检查材料思想汇报
2014/10/09 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫
angular4实现带搜索的下拉框
2022/03/25 Javascript