12

私はJQueryを使用していますが、私がやりたいのはです。

DivはfadeOutコマンドを使用してフェードアウトします。次に、loadコマンドを使用してURLからコンテンツをロードします。次に、コンテンツが読み込まれると、fadeInコマンドを使用してフェードインします。

私が持っているコードは次のとおりです。

$("#myDiv").fadeOut().load('www.someurl.com').fadeIn()

ただし、これは機能しません。一種の点滅してからロードしてからロードします。問題は、ロードが完了する前にフェードが発生していることだと思います。

私は何をすべきか

ありがとう

4

4 に答える 4

11

次のようにload()コールバック関数を使用できます。

$("#myDiv").fadeOut().load("www.someurl.com", function(response, status, xhr) {
    $(this).fadeIn();
});

load()呼び出しのステータスを使用して、すべてが正しく完了したかどうかを確認することをお勧めします。

$("#myDiv").fadeOut().load("www.someurl.com", function(response, status, xhr) {
    if (status == "error") {
        // handle error
    }
    else
    {
        $(this).fadeIn();
    }
});
于 2010-04-30T15:07:49.277 に答える
9
$("#myDiv").fadeOut(1000, function () {
    $("#myDiv").load("www.someurl.com", {limit: 25}, function(){
        $("#myDiv").fadeIn();
    });
});

制限は、ロード呼び出しで応答を待機する時間を指定します

于 2010-04-30T15:12:22.277 に答える
5

次のようsuccessに、のコールバックを使用します。.load()

$("#myDiv").fadeOut().load('www.someurl.com', function() {
  $(this).fadeIn();
});
于 2010-04-30T15:07:52.517 に答える
1

AJAXの非同期性のため、ロードコールバック関数でフェードを実行する必要があります。

于 2010-04-30T15:08:14.047 に答える