【问题标题】:jQuery animate() - multiple selectors and variables, a unique animate() calljQuery animate() - 多个选择器和变量,一个独特的 animate() 调用
【发布时间】:2010-06-17 19:32:13
【问题描述】:

我正在使用 jQuery 中的 animate() 循环调整几个 div 的大小。同时,我正在移动(左侧属性,根本不调整大小)它们所在的 div。

问题是,尽管它们具有相同的持续时间,但调整大小动画调用在移动调用之前完成。它们不同步。有什么方法可以创建选择器列表及其属性,然后运行唯一的 animate() 调用?

或者,有没有其他方法可以让多个动画同时发生?

我看到有一个名为 step 的属性,每次动画循环发生时都会发生,但同样,每个 animate() 调用都有自己的 step 调用。

提前致谢:)

这里是一种需要的伪代码示例:

for(...){
    $(target_x).stop().animate({property_a:random_value, property_b:random_value}, {duration:300});
    }
$(container).stop().animate({property_z:random_value}, {duration:300});

【问题讨论】:

  • 你能显示你的代码吗?你如何调整和移动元素?我有点困惑,因为 animate 能够立即更改多个属性。也许您必须重新阅读文档:api.jquery.com/animate
  • 你能把代码贴出来让我们看看它是否有任何问题吗?如果它们的持续时间相同,我看不出它们为什么会明显不同步。
  • 我刚刚发布了一些伪代码,以便您了解。感谢您的帮助:)
  • 尝试将所有这些函数分别包装在 setTimeout(function() { $(target).animate(...) }, 0) 中以模拟并行执行。
  • @stagas 但容器的动画在循环之外。这就是为什么我要求采用不同的方式将它们全部分组并确保它们同时发生。

标签: jquery jquery-selectors jquery-animate


【解决方案1】:

asking something different but somehow related的时候发现没有办法解决。

最好的解决方法是使用建议的步骤回调函数here。感谢Nick Craver 提供链接。

【讨论】:

    【解决方案2】:

    @ozke:到目前为止,建议你一些没有详细代码的想法是凝灰岩。还是这种情况下多个动画同步一起顺利,如果你实际调整动画持续时间会更好(试验和测试),即外部动画慢,内部动画快...

    【讨论】:

    • 但是通过试用/测试,它会根据浏览器执行不同的操作。不是吗?
    • 不,导致你遇到时间问题和时间 r 浏览器独立
    【解决方案3】:

    尝试将 stop() 更改为 .delay(400)

    【讨论】:

      【解决方案4】:

      查看动画队列并出列。相应地链接。

      【讨论】:

      • 队列不创建序列吗?因为我想要对面。添加大量动画并一次性播放。
      猜你喜欢
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多