0

我的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完成后进行动画处理。它正在执行,但我想同时为这两个类设置动画。有什么解决办法吗?谢谢 ...

4

1 回答 1

0

使用队列:假

$(function () {
    $("#first").animate({
       width: '200px'
    }, { duration: 200, queue: false });
    $("#first").animate({
       marginTop: '50px'
    }, { duration: 200, queue: false });
});
于 2012-01-13T19:19:17.477 回答