2

私は完全にJavaScriptベースのポートフォリオを作成しています。http://portfolio.theadamgaskins.com/Portfolio/

私の問題は、ナビゲーションボタンの1つをクリックすると、他のページがフェードアウトすると同時に新しいページがフェードインすることです。新しいページがフェードインする前に、現在のページがフェードアウトする必要があります。使用しているコードは次のとおりです。

    $("#homeButton").click(function()
    {
        $('.page[id!="homePage"]').fadeOut('400', function()
        {
            $("#homePage").fadeIn('400');
        });
    });

これは文脈から外れています。View Sourceサイトでお気軽に。

4

1 に答える 1

3

これは、一部の要素がすでに非表示になっているために発生します。そのため、それらのコールバックはすぐに実行されます...同時アニメーションが発生します。これを修正する:visibleには、次のように、アニメーション化する要素のセレクターに追加します。

$("#homeButton").click(function() {
    $('.page[id!="homePage"]:visible').fadeOut('400', function() {
        $("#homePage").fadeIn('400');
    });
});

このようにして、すでに非表示になっている要素にアニメーションや問題のあるコールバックを添付することはありません。

于 2010-11-06T01:01:47.320 に答える