JQuery AJax - 加载计时器

时间:2011-08-02 14:15:36

标签: jquery ajax

我正在使用Ajax方法来检索数据,有没有办法在执行流程时实现加载计时器?

干杯

4 个答案:

答案 0 :(得分:3)

在带有ajaxLoader.gif css的div中添加style="display:none;" spinny动画图片,然后在您的AJAX回发开始时,再次致电.show()然后.hide()查询完成时的回调。如果要显示/隐藏所有AJAX回发的加载程序,也可以使用ajaxStart()ajaxComplete()事件。

答案 1 :(得分:2)

很明显加载时间会有所不同,定时器可能不是最好的选择,但你可以做的就是拥有一个这样的图像

<img src="preloader.gif" id="Preloader" style="display:none;" />您可以从preloaders.net

获取一些内容

然后在jQuery中,如果你正在使用它。在请求之前显示预加载器。

$("#Preloader").show();
$.ajax({
  url: "test.html",
  context: document.body,
  success: function(){
    // On success hide the preloader
    $("#Preloader").hide();
  },
  error: function(){
    // On error hide the preloader as well
    $("#Preloader").hide();
  }
});

答案 2 :(得分:1)

您可以使用$.ajaxStart()$.ajaxComplete(),它们允许您在启动/完成Ajax调用时绑定处理程序。

否则我认为没有办法衡量通话的进度。

答案 3 :(得分:1)

由于调用是异步的,并且无法确定何时/是否完成请求,因此无法执行实际的定时器。如果您使用的是jQuery,则可以使用ajaxStart()/ ajaxComplete()方法来显示加载图像或其他内容。