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

Aph*_*ire 6 javascript ajax jquery

请考虑以下代码:

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();
Run Code Online (Sandbox Code Playgroud)

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

Swa*_*iri 7

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

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

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


Ale*_*har 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");
});
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

参考

.加载()