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


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 学习笔记(一)
Oct 13 Javascript
JavaScript Array扩展实现代码
Oct 14 Javascript
javascript+mapbar实现地图定位
Apr 09 Javascript
js注意img图片的onerror事件的分析
Jan 01 Javascript
jQuery判断checkbox是否选中的3种方法
Aug 12 Javascript
jquery控制页面部分刷新的方法
Jun 24 Javascript
JavaScript调用模式与this关键字绑定的关系
Apr 21 Javascript
react-native android状态栏的实现
Jun 15 Javascript
浅谈vue方法内的方法使用this的问题
Sep 15 Javascript
了解javascript中变量及函数的提升
May 27 Javascript
ztree+ajax实现文件树下载功能
May 18 Javascript
JavaScript中时间格式化新思路toLocaleString()
Nov 07 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面向对象全攻略 (二) 实例化对象 使用对象成员
2009/09/30 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
2014/06/26 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
js event事件的传递与冒泡处理
2009/12/06 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
详解用vue.js和laravel实现微信支付
2017/06/23 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
零基础写python爬虫之使用urllib2组件抓取网页内容
2014/11/04 Python
Python学习思维导图(必看篇)
2017/06/26 Python
Python闭包函数定义与用法分析
2018/07/20 Python
Django实现单用户登录的方法示例
2019/03/28 Python
Python datetime 如何处理时区信息
2020/09/02 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
《雾凇》教学反思
2014/02/17 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
2014年林业工作总结
2014/12/05 职场文书
简单的辞职信怎么写
2015/02/28 职场文书
自主招生学校推荐信范文
2015/03/26 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书