在网页上自动移动对象

时间:2015-05-18 16:21:36

标签: javascript jquery css

我想创建一个在页面上以指定模式移动对象的网页。

例如,用户单击“开始”按钮,并且对象沿着屏幕以图8模式移动30秒。

我不是在找人为我编写代码,我似乎无法在任何地方找到 - 无论是CSS,JS还是C#。

1 个答案:

答案 0 :(得分:3)

解决方案一 - 使用CSS3的@keyframesanimation

Pro:编码很少。您将使用关键帧指定transformtransform3d来指定您希望对象在给定时间的确切位置,并且它将关闭比赛。 CSS可以为您提供时间和安心。这可以是你想要的细粒度,并且不会有太大变化,你也可以影响其他比例,如缩放,旋转和不透明度。

对于您的具体用例,这几乎可以肯定您将要做的事情。请记住,你将通过javascript开始动画。

Con:它真的适用于预装动画。如果您希望动画跟随光标,或者在中途停止,则不是您想要的。

解决方案二 - 使用javascript直接操作toplefttransformtransform3d。您将在requestAnimationFrame设置的函数中执行此操作。在该功能结束时,您将再次致电requestionAnimationFrame。每次通过该方法,您将更新当时对象的位置。

优点:细粒度控制。它可以动态响应正在发生的事件,并在动画中期改变其过程。写得正确,它可以证明比CSS解决方案更高效(尽管你的场景可能不够复杂,无法注意到这个好处)。

缺点:随着控制的到来。管理场景可能很复杂,并且使对象以图8模式移动可能有些过分。但它确实开辟了新的前景。

解决方案三 - 使用一个处理这些内容的库。

如果这是我们要做的事情,那么复杂的动画有一些很好的工具包 - 例如Greensock。我肯定会看看现有的动画工具包,因为它们将真正帮助您的代码在许多不同的平台上运行。他们还将帮助解决不可避免的性能瓶颈。

Pro:让其他人管理动画的复杂性。他们已经解决了你可能会解决的问题。

Con:矫枉过正是一件有趣的事。让你的第三方图书馆存在,以取代自己做的单调乏味,而不是简单地取代你自己如何做到这一点的知识缺乏。