思路:請求接口的時候就把彈窗的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();
}
});