2

.ajax()に変換する必要のある.load()関数があります。最初は使いやすさから.load()を使用していましたが、目的の結果を得るには.ajax()を使用する必要があることがわかりました。これが私の.load()関数です:

$("#rightframe").click(function(){
    $("#screen").load("form.html #contact");
  });

これを.ajax()に変換し、次のコードを追加して、.ajax()呼び出しにかかる最小時間を設定します(これは、読み込み中のGIFが十分に長く実行されないと、奇妙に見えるためです) )。

そのため、GIFの読み込みにかかる最小時間を設定する方法を見つけようとしたときに、このコード見つけました。

var counter = 2;
function decrement() {
  if (--counter == 0) {
    $('#loader').hide();
  }
}
setTimeout(decrement, 1000);
$.ajax(..., complete: decrement);

.load()関数を.ajax()に変更し、.ajax()関数にデクリメント関数を追加する方法を知っている人はいますか?

ありがとうございました、

ケイティ

4

1 に答える 1

2

私はあなたがこのようなものが欲しいと思います:

$("#rightframe").click(function () {
    $("#loader").show();
    setTimeout(function () {
        $.ajax({
            url: "form.html",
            complete: function () {
                $("#loader").hide();
            },
            success: function (data) {
                $("#screen").empty().append($(data).find("#contact"));
            },
            error: function () {
                // Handle an error occurring
            }
        });
    }, 2000);
});

この関数を使用している/必要な理由はわかりませんが、decrementこのコードのようなもので、読み込まれている画像が十分に長く表示されるように処理する必要があります。

于 2012-10-19T15:32:11.637 に答える