如何检查ajax .load调用是否已加载

时间:2015-09-23 07:46:10

标签: javascript jquery ajax

请考虑以下代码:

var loadingHTML = $("<div style='width:100%;'> <h1>Loading...</h1></div>");
loadingHTML.hide();
$(".row").append(loadingHTML);
loadingHTML.fadeIn('slow');
$(".row").append($("<div>").load("get-more-images.php?start=36&end=36"));
//  loadingHTML.hide();

我有一页图像,当用户向下滚动页面以在向下滚动时加载更多图像时,将触发此图像。希望显示“正在加载...”,直到图像出现,然后再次隐藏它,运行上面的代码将显示然后隐藏文本这么快你看不到它,有没有办法检查.load事件有没有完成了吗?

2 个答案:

答案 0 :(得分:7)

为负载提供回调并执行您想要的任何操作。

$(".row").append($("<div>").load("get-more-images.php?start=36&end=36", function () {
    console.log('load complete');
}));

更多信息 - http://api.jquery.com/load/

答案 1 :(得分:5)

您可以使用回调函数:

var loadingHTML = $("<div style='width:100%;'> <h1>Loading...</h1></div>");
loadingHTML.hide();
$(".row").append(loadingHTML);
loadingHTML.fadeIn('slow');
$(".row").append($("<div>").load("get-more-images.php?start=36&end=36"), function() {
  console.log("images load");
});

在文档中,您可以检查所需的参数:

  

.load(url [,data] [,complete]

     
      
  • url类型:String包含发送请求的URL的字符串。

  •   
  • data类型:PlainObject或String随请求一起发送到服务器的普通对象或字符串。完成类型:

  •   
  • Function(String responseText,String textStatus,jqXHR jqXHR)请求完成时执行的回调函数。

  •   

<强>参考

.load()