質問

私はjqueryを使用していますが、私が起こりたいのは何ですか。

DivはFadeoutコマンドを使用してフェードアウトします。次に、Loadコマンドを使用してURLからコンテンツをロードします。その後、コンテンツがロードされると、Fadeinコマンドを使用してフェードバックします。

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

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

ただし、これは機能しません。その後、フラッシュの種類がロードされてからロードインします。問題は、荷重が完了する前にフェードが発生していることだと思います。

私は何をすべきか

ありがとう

役に立ちましたか?

解決

使用できます ロード() このようなコールバック関数:

$("#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();
    }
});

他のヒント

$("#myDiv").fadeOut(1000, function () {
    $("#myDiv").load("www.someurl.com", {limit: 25}, function(){
        $("#myDiv").fadeIn();
    });
});

制限は、ロードコールの回答を待つ時間を指定します

使用 success のコールバック .load(), 、 このような:

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

Ajaxの非同期性のため、ロードコールバック関数でフェージングを行う必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top