(我查看了所有类似的问题/答案,但没有一个能解决我的问题。)
编码:
var timeoutHandle;
function showLoader(show) {
if (show) {
$('.loader').html('Loading...');
$('.loader').show();
timeoutHandle = setTimeout(function () {
if ($('.loader').is(':visible')) {
$('.loader').html('Still loading...');
}
}, 15000);
}
else {
$('.loader').hide();
clearTimeout(timeoutHandle);
}
}
AJAX 函数只是showLoader(true)
在调用服务器之前调用,然后showLoader(false)
在结果之后调用。有时我仍然会在 15 秒之前看到文本从“正在加载...”变为“仍在加载...”,所以就好像计时器线程仍在运行一样。上面的代码有问题吗?或者问题可能出在其他代码上。
编辑:我必须添加showLoader(true)
可以在服务器响应之前再次(再次)调用的内容