jQuery UI分解效果队列

jQuery UI Explode Effect Queue

本文关键字:队列 分解 UI jQuery      更新时间:2023-09-26

我正在尝试同时应用动画,其中一个是UI爆炸效果。我已经查看了爆炸效果的源代码,并看到它正在排队。有没有什么方法可以防止它被排队,这样我就可以在爆炸效果的同时运行多个动画?

谢谢!

问题在于爆炸函数的设计方式。

它采用元素从顶部到左侧的偏移量。它测量这些值,以计算返回的位置、旅行的距离等。如果没有这些值,它就无法做出这些决定。它的构建不够稳健,无法支持动态计算;

我可以用三个例子来证明这个理论。

第一:

排队动画问题(如上所述)

第二:

尝试使用setTimeout注入返回错误偏移。top()为空

这让你能够清楚地看到为什么会发生这种情况。最明显的答案是,除非您更改代码的核心功能,否则无法修复此解决方案。

这就引出了最后一个例子。在下面的例子中,我们将元素包装在div中。我们设置父元素的位置动画,并分解子元素。让我们看看这是怎么回事。

第三:

正如我们在这里看到的,问题在于如何计算偏移量。

它可以获得结束和开始,但无法获取动画中间的偏移。

我相信这也是你提到的问题——不幸的是(总的来说)除了自己写之外,你对此无能为力。

我不熟悉特定的爆炸效果,但我知道jQuery animate()允许queue选项(请参阅http://api.jquery.com/animate/-有一个如何使用此选项的示例),用于确定是否将所需动画放置在效果队列中。如果为false,动画将不会放入队列并立即开始。这有帮助吗?