当前位置:Gxlcms > JavaScript > 如何制作JS抛物线动画(详细教程)

如何制作JS抛物线动画(详细教程)

时间:2021-07-01 10:21:17 帮助过:58人阅读

本篇文章给大家详细分析了JS抛物线动画制作过程以及相关的代码实例分享,有兴趣的朋友参考下。

在做无人便利小程序的项目中,某一天产品说要像某产商产品学习,给添加购物车增加抛物线小球动画。好吧,产品你最大,做!

先给大家看下效果图

分析

这种不固定起始位置的动画,自然不能用 gif 图,所以只能用原生代码实现

那我们有什么工具来实现动画呢?

小程序提供了 JS API createAnimation 来创建动画

CSS animation

工具有了,我们再看一下什么是抛物线。

这里我们只讨论水平抛物线,水平抛物线从数学原理上来说就是【水平匀速、垂直加速的运动】,转换成代码层面就是在动画效果 timingFunction 中,水平动画采用 linear ,垂直动画采用 ease-in

所以我们需要把这个抛物线动画分解成 两个 同时 进行但 不同动画效果 的动画。

实现

小程序的实现

JS:

HTML:

<view animation="{{animationY}}" style="position:fixed;top:{{ballY}}px;" hidden="{{!showBall}}">
  <view class="ball" animation="{{animationX}}" style="position:fixed;left:{{ballX}}px;"></view>
</view>

据我所知,用 transform: transtate() 来实现的动画会比 top & left 性能更优,但尝试下来发现并不能做到理想的交互效果,期待后续继续研究吧

H5 的实现

// todo

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

vue中手机号,邮箱正则验证以及60s发送验证码的实例

NodeJS父进程与子进程资源共享原理与实现方法

Vue实现active点击切换方法

以上就是如何制作JS抛物线动画(详细教程)的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行