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


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插件jbox使用iframe关闭问题
Feb 09 Javascript
window.dialogArguments 使用说明
Apr 11 Javascript
javascript开发技术大全-第1章javascript概述
Jul 03 Javascript
jQuery中prevUntil()方法用法实例
Jan 08 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
JavaScript中使用数组方法汇总
Feb 16 Javascript
JavaScript组合模式学习要点
Aug 26 Javascript
探讨跨域请求资源的几种方式(总结)
Dec 02 Javascript
JavaScript中的call和apply的用途以及区别
Jan 11 Javascript
angular使用bootstrap方法手动启动的实例代码
Jul 18 Javascript
vue init webpack 建vue项目报错的解决方法
Sep 29 Javascript
JavaScript实现前端倒计时效果
Feb 09 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类
2006/11/25 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
VIM中设置php自动缩进为4个空格的方法详解
2013/06/14 PHP
二进制交叉权限微型php类分享
2014/02/07 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
JavaScript全局函数使用简单说明
2011/03/11 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
Vue.js教程之计算属性
2016/11/11 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
python网页请求urllib2模块简单封装代码
2014/02/07 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
2017/08/15 Python
Python三级菜单的实例
2017/09/13 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
python 装饰器重要在哪
2021/02/14 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
上班迟到检讨书300字
2014/10/18 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python