7

次のコードで問題が発生しています。

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

追加した後queue: falsefunction()はまったく実行されていません...しかし、私が実行しない場合、それらはキューに入れられるだけであり、私もそれが発生することを望んでいません..このアニメーションとそれに伴うすべてを作成する方法はありますかqueue: false??

あなたが助けやすくするために何か提供できるかどうか教えてください。

ありがとう!

4

2 に答える 2

12

animate()のマニュアルを読んでください。コールバックを使用する場合は、オプションを使用しoptionsてコールバックを渡す必要がありcompleteます。

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 に答える