微信小程序第五篇:页面弹出效果及共享元素动画
创始人
2024-03-29 08:44:24
0

系列文章传送门:

微信小程序第一篇:自定义组件详解

微信小程序第二篇:七种主流通信方法详解

微信小程序第三篇:获取页面节点信息

微信小程序第四篇:生成图片并保存到手机相册

目录

一、page-caontainer 实现假页弹出

二、share-element 实现共享元素动画


首先我们先看一下要完成的效果:

 

我们要实现的效果就是点击歌单图片的时候,弹出一个假页并且伴随动画效果,当退出假页页面的时候,假页的歌单封面图会缩小到歌单页的封面图大小,并且移动到相应的位置。

一、page-caontainer 实现假页弹出

我们先看一下官网对于 page-container 的介绍:

小程序如果在页面内进行复杂的界面设计(如在页面内弹出半屏的弹窗、在页面内加载一个全屏的子页面等),用户进行返回操作会直接离开当前页面,不符合用户预期,预期应为关闭当前弹出的组件。 为此提供“假页”容器组件,效果类似于 popup 弹出层,页面内存在该容器时,当用户进行返回操作,关闭该容器不关闭页面。返回操作包括三种情形,右滑手势、安卓物理返回键和调用 navigateBack 接口。

也就是说它主要是帮助我们实现一些 popup 组件的效果,值得注意的是,position属性用来控制弹出位置,如果为 center ,则会有假页效果。如果为 top 或者 bottom 则是 popup 效果,如果为 right 就和新页面一样,是从右向左的效果。

下面我们就把需要包裹的元素都放在 page-container 标签中:

 通过 showCover 来控制假页的显示与隐藏,当单击歌单页封面图时让 showCover 为 true,在假页页面点击背景图或者返回按钮时就让 showCover 为 false,duration 属性控制动画的持续时间。这样我们就成功实现了假页的弹出效果。

二、share-element 实现共享元素动画

为什么叫共享元素动画呢,因为在歌单页和假页的图片在我们看来默认他们就是一种元素,但是代码不知道呀,所以需要 key 属性进行标记,被 share-element 标签包裹,且 key 属性相同的元素就是一对共享元素。

在歌单页包裹封面图元素:

注意:关于位置,大小等 css 属性要放在 share-element 标签上,否则不能正确实现动画效果。

在假页包裹封面图元素:

share-element 上 duration 属性控制动画时间,transform 来控制是否发生动画。因为我们只想在返回的时候发生动画,所以在进入假页的时候一直让 showAnimate 属性为 false ,当点击假页背景返回的时候再开始动画,就有了开头的效果。是不是很简单呀!

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...