了解 jQuery 效果队列
我正在尝试让一个 jQuery 效果/动画一个接一个地运行。我已经尝试过这个:
$('#myDiv').animate({'left':'+=300'},1000).delay(2000).animate({'left':'-=300'},1000);
编辑:
这实际上确实有效 - 只是我的一个粘贴错误。根据 docs,链接效果会自动创建一个队列,这就是我们想要的:
$('#foo').slideUp().fadeIn();
当执行该语句时, 元素开始滑动动画 立即,但褪色过渡 被放入 fx 队列中被调用 仅当滑动过渡时 完成。
(感谢您的帮助,不让我删除问题)
I'm trying to have one jQuery effect/animation run after another. I've tried this:
$('#myDiv').animate({'left':'+=300'},1000).delay(2000).animate({'left':'-=300'},1000);
EDIT:
This actually does work- just a pasting mistake on my part. Chaining effects automatically creates a queue, according to the docs, which is what we want:
$('#foo').slideUp().fadeIn();
When this statement is executed, the
element begins its sliding animation
immediately, but the fading transition
is placed on the fx queue to be called
only once the sliding transition is
complete.
(Thanks for the help, won't let me delete the question)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
jQuery animate() 有一个回调参数
,你可以这样做
jQuery animate() has a call back parameter
with it you can do this
有两种方法可以做到这一点:使用
callback
参数进行动画处理,以及使用队列。There are two ways to do this: using the
callback
parameter to animate, and using queues.您是否在 div 上设置了
position:absolute;
(或relative
,具体取决于您想要的内容)?如果你没有这样做,那么动画left
将不会执行任何操作。这是一个工作示例: http://jsfiddle.net/vftNF/Did you set
position: absolute;
(orrelative
, depending on what you want) on the div? If you didn't then animatingleft
won't do anything. Here's a working example: http://jsfiddle.net/vftNF/