请考虑以下代码:
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事件有没有完成了吗?
答案 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)请求完成时执行的回调函数。
<强>参考强>