两个动画之间的jQuery延迟

两个动画之间的jQuery延迟,jquery,Jquery,代码: 上述代码未按需要工作。队列()内的第二个动画不可用 工作 我只需要延迟第二个动画。还尝试了setTimeout,但setInterval无法使它们工作 我认为应该是连锁的: $("#telecomGrayscale", this).stop().animate({ top: '467px' }, { duration: 400 }).delay(800).queue(function() { $("#boxcaptionTelecom",

代码:

上述代码未按需要工作。队列()内的第二个动画不可用 工作


我只需要延迟第二个动画。还尝试了setTimeout,但setInterval无法使它们工作

我认为应该是连锁的:

   $("#telecomGrayscale", this).stop().animate({ top: '467px' }, 
    { duration: 400 }).delay(800).queue(function() {
                $("#boxcaptionTelecom", this).stop().animate({ top: '272px' }, { duration: 900 });
                });
编辑:
原谅我的错误。如果要在两个不同的元素上设置,则应将queue()的第一个参数设置为“fx”,然后将其作为函数的第二个参数。查看位于

的函数文档,我认为它应该在链中:

   $("#telecomGrayscale", this).stop().animate({ top: '467px' }, 
    { duration: 400 }).delay(800).queue(function() {
                $("#boxcaptionTelecom", this).stop().animate({ top: '272px' }, { duration: 900 });
                });
编辑:
原谅我的错误。如果要在两个不同的元素上设置,则应将queue()的第一个参数设置为“fx”,然后将其作为函数的第二个参数。在您的第二个动画中,请查看位于

的函数文档,
不是您所认为的,因此将
作为上下文的选择器很可能是空的

如果这样做有效,请尝试:

$("#telecomGrayscale", this).stop().animate({ top: '467px' }, 
{ duration: 400 }).delay(800).animate({ top: '272px' }, { duration: 900 });

在第二个动画中,
this
不是您认为的那样,因此将
this
作为上下文的选择器很可能是空的

如果这样做有效,请尝试:

$("#telecomGrayscale", this).stop().animate({ top: '467px' }, 
{ duration: 400 }).delay(800).animate({ top: '272px' }, { duration: 900 });

看起来他在尝试为不同的元素制作动画。但是看起来他在尝试为不同的元素制作动画。你能至少揭示一下它是如何不按需要工作的吗?它根本不做第二部动画吗?它不会像预期的那样延迟第二个动画吗?第二个动画根本没有发生。你能至少透露一下它是如何不按需要工作的吗?它根本不做第二部动画吗?它不会像预期的那样延迟第二个动画吗?第二个动画根本不会发生。谢谢!!。。我不知道这个。谢谢!!。。我不知道这个。