技术拆解-年会H5的跳跃动画
今年是公司上市 10 周年,应人事部需求,我们做了一个年会 H5的页面,展示公司的发展历程。这个页面的动效还挺有意思的,这里记录下实现要点。
依赖的库
JQuery:操纵动画,页面元素的移动
Vanish 的 SDK:用于在 Vanish 的 APP 环境中,获取用户的信息,比如邮箱之类的;以及执行分享操作
思路
还是通过数据驱动的理念,先设计好数据结构。
由于动画是一帧一帧的,因此我们把每一帧动画当成一个数据结构。
单个数据结构如下:
1 | |
一些实现原理
切屏
整个背景就是一张长图,因此切屏就是更改当前页面的可视范围。
跳跃
通过 CSS 的关键帧动画@keyframes 来实现,控制 transform 属性的变化:
1 | |
表情变换
通过不断的切换图片来实现。
设计师实际上设计了 N 个图,分别代表不同的表情:

切换表情的时候,更改表情对应的 css 的 background-position 属性,切到不同的表情即可。
这个是通过 js 控制@keyframes 来实现的。
注意:设计师给出的,其实是 N 个独立的表情图,我们将其通过在线合并工具,合成了一张图,就是上面这个图片。合并也是分类四次,每次合并进去一排表情。