jquery一次动画两个类

时间:2012-01-13 19:15:24

标签: jquery animation jquery-animate delay jquery-callback

我遇到了animate()功能的问题。我想首先为2个对象设置动画,然后等待4秒并再次为该对象设置动画。我的代码是这样的:

//Animation In
$('.show').animate({marginTop : '1px' , opacity: '1px'},1000).delay(4000);
$('.caption').animate({opacity : '1px', top : '20px'},1000).delay(4000);       

//After 4 Second Animation Out       
$('.show').animate({ marginTop : '-200px', opacity:'0px'},1000);
$('.caption').animate({opacity : '0px' , top : '70px'},500,function()
   {         
                fadeInwhipe();// calls This Function
   });

这适用于.show类,但有时.caption.show之前动画很快。我尝试将.caption设置为.show的回调函数,以防止.caption提前制作动画,如下所示:

//Animation In
$('.show').animate({marginTop : '1px' , opacity: '1px'},1000).delay(4000);
$('.caption').animate({opacity : '1px', top : '20px'},1000).delay(4000);       

//After 4 Second Animation Out       
$('.show').animate({ marginTop : '-200px', opacity:'0px'},1000 ,function(){
    $('.caption').animate({opacity : '0px' , top : '70px'},500,function()
      {         
                fadeInwhipe();// calls This Function
      });
);

但在这种情况下,它会在.show完成后动画。它正在执行,但我想立刻为这两个类制作动画。有什么解决方案吗?谢谢......

1 个答案:

答案 0 :(得分:0)

使用队列:false

$(function () {
    $("#first").animate({
       width: '200px'
    }, { duration: 200, queue: false });
    $("#first").animate({
       marginTop: '50px'
    }, { duration: 200, queue: false });
});