使用函数的Jquery动画不会排队:false

时间:2012-11-09 18:17:35

标签: jquery jquery-animate queue

我遇到以下代码时出现问题:

$(".active").animate({
            opacity:0
        },{queue: false, duration:1000}, function(){  
            console.log("queue??");
            $(".active").css('display', 'none');
            $(".active").removeClass("active");
            initiatePage();
        });

添加queue: false后,function()根本没有运行......但如果我不这样做,他们只是排队,我也不希望这种情况发生......有没有办法制作这个动画,一切都跟着它queue: false ??

如果我能提供任何便于您帮助的信息,请告诉我。

谢谢!

2 个答案:

答案 0 :(得分:8)

阅读animate()手册。使用options时,应使用complete选项传递回调。

  

complete:动画完成后调用的函数。

$(".active").animate({opacity:0},{
    queue       : false,
    duration    : 1000,
    complete    : function() {  
        $(this).hide().removeClass('active');
        initiatePage();
    }});

答案 1 :(得分:0)

使用核心插件jquery-timing,您可以缩短解决方案:

$(".active").animate({opacity:0},{queue:'foo', duration:1000})
    .join('foo').hide().removeClass('active').then(initiatePage);

在jQuery链中使用.join()可以解决问题。