我的布局页面中有以下代码,因此每当发送 Ajax 请求时,它都会显示一个进度-请等待面板。
但我不知道如何延迟它。
$(document).ajaxStart(function (event, XMLHttpRequest, ajaxOptions) {
$('#wait').modal('show');
});
$(document).ajaxComplete(function (event, jqXHR, ajaxOptions) {
$('#wait').modal('hide');
});
我试过了:
$(document).ajaxStart(function (event, XMLHttpRequest, ajaxOptions) {
setTimeout("$('#wait').modal('show')", 3000);
});
但是,如果一个请求花费的时间少于 3000 毫秒,则进行中的指示器会显示出来并且永远不会消失,因为那时ajaxComplete
已经完成了。
所以我猜在 中setTimeout
,我必须检查当前的 ajax 是否已经完成,如果是,则不要费心显示面板,否则,显示它并ajaxComplete
稍后将其隐藏。但是,我不知道如何在ajaxStart
.