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


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 相关文章推荐
xmlHTTP实例
Oct 24 Javascript
javascript 复杂的嵌套环境中输出单引号和双引号
May 26 Javascript
node.js中的fs.fstat方法使用说明
Dec 15 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
Feb 13 Javascript
JQuery动态添加和删除表格行的方法
Mar 09 Javascript
JavaScript时间转换处理函数
Apr 14 Javascript
JS中Location使用详解
May 12 Javascript
JavaScript中的Repaint和Reflow用法详解
Jul 27 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
Dec 26 Javascript
js+css绘制颜色动态变化的圈中圈效果
Jan 27 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
Mar 06 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
Mar 14 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
PHP6 mysql连接方式说明
2009/02/09 PHP
PHP保留两位小数的几种方法
2019/07/24 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
再探JavaScript作用域
2014/09/24 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
JavaScript返回上一页的三种方法及区别介绍
2015/07/04 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
vue组件中使用props传递数据的实例详解
2018/04/08 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
详解Vue3.0 + TypeScript + Vite初体验
2021/02/22 Vue.js
Python 字符串操作方法大全
2014/03/11 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
python妹子图简单爬虫实例
2015/07/07 Python
python编写Logistic逻辑回归
2020/12/30 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
人事专员岗位职责范本
2014/03/04 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
教师考核评语大全
2014/12/31 职场文书
党员倡议书
2015/01/19 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
如何撰写促销方案?
2019/07/05 职场文书
php字符串倒叙
2021/04/01 PHP
Golang二维切片初始化的实现
2021/04/08 Golang
MySQL如何解决幻读问题
2021/08/07 MySQL