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 回答