【问题标题】:Pause before JQuery AJAX post在 JQuery AJAX 发布之前暂停
【发布时间】:2010-01-15 08:41:05
【问题描述】:

因为我正在处理的页面是一个 Intranet 页面,所以我的 AJAX 调用和响应非常快。出于可用性目的,我希望暂停 1-2 秒以显示加载动画。以下是我尝试过的,但动画几乎看不到。

$(document).ready(function(){ 
    $('#wait').hide();
    $('#submitform').click(function(){
    $('#wait').show();
    $.ajax({
        type: "POST",
        url: "abs_newabs_check.asp",
        data: { StaffID: $("#suggest1").val() },
        success: callback
    });

});
});

function callback(data, status)
{
    $('#wait').hide();
    $("#ajaxdiv").html(data);
}

【问题讨论】:

  • “我想让我的应用程序变慢”,多么有趣的想法 :-)

标签: javascript jquery


【解决方案1】:

我不得不建议考虑一种不同的方法来增加可用性,您现在正在减慢您的服务以帮助用户。使用Yellow Fade Technique 怎么样?这样您就可以在页面上显示某些内容发生了变化,并且不会降低系统速度。

这是一个可能有帮助的相关问题。 Yellow fade Effect with JQuery

【讨论】:

  • 谢谢。我已经实现了它以及我的加载动画。
【解决方案2】:

在回调函数中添加 setTimeout 调用:

function callback(data,status) {
  setTimeout(function() {
    $("#wait").hide();
    $("#ajaxdiv").html(data);
  }, 1500);
}

注意。如果我没记错的话,数据参数将作为闭包传递给匿名函数

【讨论】:

    【解决方案3】:

    使用setTimeout函数

    setTimeout("alert('5 seconds has passed.');",5000);
    

    【讨论】:

      猜你喜欢
      • 2016-12-19
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 2020-02-28
      相关资源
      最近更新 更多