当另一个动画正在进行时,Jquery 动画
我正在使用这里给出的简单缓动动画 JQUERY缓动插件
将 div 从 left:200 调整到 left:0 并返回。(上页的最后一个示例)
我在容器 div 中有多个 div。我想要做的是按以下方式对 4 个 div 进行动画处理:
1] 假设如果我有两个 div,div1 和 div2。 当 div1 处于动画状态并且动画正在进行时,div2 动画应该开始。例如:当 div1 从 left=200 移动到 left=0 时,div2 动画应该在 div1 位于 left = 时开始100.
编辑 (注意:div的数量是可变的)
.......当当前动画正在进行时,并到达下一个动画应该开始的点(所有div的动画效果相同)。
2] 在迭代 div 集合和动画时,将下一个动画延迟给定的时间间隔。
有什么方法可以知道动画的开始吗?或者动画正在进行中?
谢谢大家
I'm using a simple easing animation given here using JQUERY EASING PLUGIN
i.e.easing a div from left:200 to left:0 and back.(last example on above page)
I have multiple divs in a container div.and what i want to do is animate the 4 divs in following way :
1] Suppose if i have two divs, div1 and div2.
when div1 is animated,and the animation is in progress the div2 animation should start.eg: when div1 is moving from left=200 to left=0 , the div2 animation should start when div1 is at left = 100.
Edit
(Note:the number of divs are variable)
.......
When the current animation is in progress,and reaches a point the next animation should start (effect of animation is same of all divs).
2] While iterating a div collection and animating, delay the next animation for a given interval of time.
Is there any way to know start of animation? or animation is in progress?
Thanks all
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用 ':animated' 伪选择器来查明元素当前是否处于运动状态:
http: //api.jquery.com/animated-selector/
您还可以尝试使用
step
选项来检查 div2 何时开始动画:http://api.jquery.com/animate/
You can use the ':animated' pseudo-selector to find out if an element is currently in motion:
http://api.jquery.com/animated-selector/
You can also try the
step
option to check when div2 should start animate:http://api.jquery.com/animate/
您正在寻找的答案位于“step”参数中。
您可以定义一个步骤参数,该参数在整个动画范围内一致调用。在每个步骤中,您都可以检查动画的进度,如果达到阈值,则可以触发第二个动画。
例如:
这个想法适用于任意数量的 div,尽管显然您必须接受这个概念并修改它以适合您的情况。如果这有帮助,请告诉我!
在此处阅读有关步骤函数的更多信息:http://api.jquery.com/animate/
The answer you are looking for lies in the "step" parameter.
You can define a step parameter which is called on a consistent basis across the span of the entire animation. At each step, you can check the progress of the animation and if it has hit the threshold you can trigger the second animation.
For instance:
This idea will work for any number of divs, although obviously you will have to take the concept and modify it to work with your case. Please let me know if this helps!
Read more about the step function here: http://api.jquery.com/animate/
您可以使用一个函数在一个地方管理动画。
ETC。
You can use a function to manage the animation in one place.
etc.
您可以向 animate 函数添加回调:
You can add a callback to the animate function :