7

我在使用以下代码时遇到问题:

$(".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??

让我知道我是否可以提供任何让您更容易帮助的东西。

谢谢!

4

2 回答 2

12

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

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

$(".active").animate({opacity:0},{
    queue       : false,
    duration    : 1000,
    complete    : function() {  
        $(this).hide().removeClass('active');
        initiatePage();
    }});
于 2012-11-09T18:19:59.230 回答
0

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

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

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

于 2012-11-10T07:24:10.930 回答