我正在使用jQuery中的animate()调整循环中的几个div。与此同时,我正在移动(左侧属性,根本没有调整大小)包含它们的div。
问题是,尽管它们具有相同的持续时间,但调整动画调用在移动调用之前完成。它们不同步。有没有办法创建一个选择器及其属性列表,然后运行一个唯一的animate()调用?
或者,有没有其他方法可以让多个动画同时发生?
我已经看到每次动画循环发生时都会出现一个名为step的属性,但同样,每个animate()调用都有自己的步调用。
提前致谢:)
根据需要,这是一种伪代码示例:
for(...){
$(target_x).stop().animate({property_a:random_value, property_b:random_value}, {duration:300});
}
$(container).stop().animate({property_z:random_value}, {duration:300});
答案 0 :(得分:1)
当asking something different but somehow related我发现没有解决方法时。
最佳解决方法是使用建议here的步骤回调函数。感谢Nick Craver获取链接。
答案 1 :(得分:0)
@ozke:到目前为止,建议你对细节代码有所了解。仍然有这样的情况,多个动画同步一起平稳地工作,如果你实际调整动画持续时间(试验和测试)会更好,即内部动画越慢越快......
答案 2 :(得分:0)
尝试将stop()更改为 .delay(400)
答案 3 :(得分:0)
查看动画队列并出列队列。因此链。