栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

微信小程序动画组件使用解析,类似vue,且更强大

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微信小程序动画组件使用解析,类似vue,且更强大

演示

演示1

演示2

演示3

 

一、功能描述

1、预设过渡

  • 支持区分enter、leave
  • 支持预设过渡的组合
  • 特别强调:支持元素展开、闭合的过渡。name=='slide'或['slide'[,]],即可实现,无需外部传height
  • 支持外部传类来过渡或动画

2、蒙层相关功能

  • 无蒙层:mask:0。//此时过渡元素为卡槽
  • 透明蒙层1:mask:1。//此时过渡元素为卡槽。如:左移100%,只是移动卡槽宽度的100%
  • 透明蒙层2:mask:2。//此时过渡元素为蒙层。如:左移100%,则是移动蒙层宽度的100%
  • 半透明蒙层3:mask:3。///此时过渡元素为蒙层。如:弹窗上移,则是蒙层上移。
  • 半透明蒙层4:mask:4。///此时过渡元素为卡槽。如:弹窗上移,则是蒙层自身是缩放。卡槽上移

3、卡槽样式完美设置

  • 由以上可知。蒙层由多种情况。但
  • 完美支持百分比设置:外部传custom-class即可

4、其它细节

  • 完美支持自定义top、tab导航情况
  • 蒙层(包括透明蒙层)下,预设5个布局位置:结合方向等,可实现左右抽屉、上下弹出、中间淡入淡出等效果
  • 支持leave动画结束后,通知父节点:可实现多节点联动。如:手风琴效果

5、支持所有的节点。包括组件作为卡槽内容

  • 对需要动画的元素/组件套上这个组件即可实现过渡动画
  • 其实整个小程序页面做进入过渡,也挺炫酷的。类似支付宝页面进蚂蚁森林

二、可传属性(可配置项)

过渡相关类

externalClasses: [
'enter-class',
'enter-active-class',
'enter-to-class',
'leave-class',
'leave-active-class',
'leave-to-class',
],

内容(卡槽)样式

externalClasses:[
'custom-class',
]

说明:完美支持像素、百分比、或者absolute的设置

配置项

properties: {
name: {
type: [String,Object,Array],//支持区分enter、leave过渡
value:{
enter:{
type:[String,Array],
value:['up','fade'],//支持传数组,即内设的过渡,可组合
},
leave:"fade"
 }
},
show: {
 type: Boolean,
 value: false
},
duration: { //run Time ms
 type: [String,Number,Object],//`过渡时间,支持区分enter、leave。如果enter不需要过渡,enter:0即可`
 value:{
  enter:300,
  leave:300,
 }
},
//leave过渡之后状态是否保留。而不是display:none
//带有mask,避免影响页面操作。这边强制禁止保留状态。适用于非mask的情况。mask:0和1、2(1、2是全透明的,设置了属性虽然不会影响页面操作。建议不宜保留)
retain:{
 type:Boolean,
 value:false
},
mask: { //`支持选蒙层类型:预设5中类型` 以下四个个是配套的,针对mask的配置
 type: [String,Number],//如果为0,表示没有蒙层。1、2:全透明蒙层
 value: '0',
},
//顶部的margin。如果没有自定义navBar或tabBar则,fixed区域为中间的可视区域。否则为中间可视区域+自定义bar区域。
//因此为了兼容,如果自定义了bar,则要传值进来修正蒙层的区域。
margin:{//记得带上单位哦。
 type: Object,
 value:{
  top:'0px',
  bottom:'0px',}
},
position: { //`支持卡槽位置:top、right、bottom、left、center`如果有mask,则mask中的卡槽位置是哪里。如果要再偏移,则外部卡槽使用margin来实现即可
 type: String,
 value: "right",
},
close: { //如果有mask,点击Mask是否关闭蒙层
 type: Boolean,
 value: false
}

三、完整代码(demo)

git代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/74457.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号