gpt4 book ai didi

javascript - JQuery 是如何做动画的?

转载 作者:数据小太阳 更新时间:2023-10-29 04:25:19 26 4
gpt4 key购买 nike

JQuery 是用 Javascript 编写的。作为对两者都有所了解的人,我不得不想知道他们是如何写出其中的一些内容的。如何在纯 Javascript 中为 HTML 元素制作动画?是否只是重复更新要动画化的 CSS 属性,使用标准 DOM 操作,使用回调使其异步?还是更复杂的东西?

最佳答案

jQuery 动画只是在循环计时器上更新 CSS 属性(这使其异步)。

他们还实现了一个补间算法来跟踪动画是提前还是落后于计划,并且他们在每一步调整动画中的步长以根据需要 catch 或放慢速度。这允许动画在指定的时间内完成,而不管主机的速度有多快。缺点是慢速或繁忙的计算机会显示更多断断续续的动画。

它们还支持控制动画加速的时间/形状的缓动函数。 Linear 表示恒定速度。 Swing是比较典型的,开始缓慢,中间加速到最大速度,然后缓慢结束。

因为动画是异步的,所以 jQuery 还实现了一个动画队列,这样您就可以指定您希望一个接一个执行的多个动画。第一个动画结束时第二个动画开始,依此类推。 jQuery 还提供了一个完成函数,因此如果您希望自己的一些代码在动画完成时运行,您可以指定一个回调函数,该函数将在动画完成时被调用。这允许您在动画完成时执行一些操作,例如启动其他对象的动画、隐藏对象等...

仅供引用,jQuery javascript source code如果您需要更多详细信息,则完全可用。工作的核心是在名为 doAnimation() 的本地函数中,尽管大部分工作是在名为 stepupdate 的函数中完成的可以在 jQuery.fx.prototype 的定义中找到。

关于javascript - JQuery 是如何做动画的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9916421/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com