思路:请求接口的时候就把弹窗的HTML append 到body,延迟1.5s后还没有返回请求,则show出弹窗;
请求成功后删除弹窗HTML并清除清除定时器.
var timeObj; //定时器对象;
function addModalHtml() {
var modalHtml = '<div id="LoadModal" class="hide modal">加载中</div>';
$(body).append(modalHtml);
timeObj = setTimeout(function() {
// 当请求时间小于1.5s的时候,LoadModal已经被删除了,未避免报错做判断;
if($("#LoadModal")) {
$("#LoadModal").show();
}
}, 1500);
}
$.ajax({
url: "data.php",
beforeSend: addModalHtml,
sunccess: function() {
if(timeObj) {
clearTimeout(timeObj);
}
$("#LoadModal").remove();
}
});