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


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 相关文章推荐
jQuery UI 应用不同Theme的办法
Sep 12 Javascript
禁用页面部分JavaScript方法的具体实现
Jul 31 Javascript
利用cookie记住背景颜色示例代码
Nov 04 Javascript
jquery获取tagName再进行判断
May 29 Javascript
JavaScript中const、var和let区别浅析
Oct 11 Javascript
bootstrap modal弹出框的垂直居中
Dec 14 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
jQuery树插件zTree使用方法详解
May 02 jQuery
es7学习教程之Decorators(修饰器)详解
Jul 21 Javascript
详解Vue Elememt-UI构建管理后台
Feb 27 Javascript
vue中实现移动端的scroll滚动方法
Mar 03 Javascript
JS多个异步请求 按顺序执行next实现解析
Sep 16 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 学习路线与时间表
2010/02/21 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
查看大图功能代码jquery版
2013/11/05 Javascript
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
Vue 过渡实现轮播图效果
2017/03/27 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
vue实现element表格里表头信息提示功能(推荐)
2019/11/20 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
[56:12]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第一场 6.3
2018/06/04 DOTA
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
Python callable()函数用法实例分析
2018/03/17 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
专科毕业生求职简历的自我评价
2013/10/12 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
门球健将观后感
2015/06/16 职场文书
趣味运动会简讯
2015/07/20 职场文书
社区结对共建协议书
2016/03/23 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
python文件与路径操作神器 pathlib
2022/04/01 Python
浅析Python OpenCV三种滤镜效果
2022/04/11 Python