(Tôi đã xem xét tất cả các câu hỏi tương tự/câu trả lời nhưng không ai trong số họ giải quyết vấn đề của tôi.)Javascript clearTimeout không làm việc
Mã:
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);
}
}
Chức năng AJAX đơn giản gọi showLoader(true)
trước khi gọi sau đó kết quả là showLoader(false)
. Đôi khi tôi vẫn thấy thay đổi văn bản từ "Đang tải ..." thành "Vẫn đang tải ..." trước 15 giây, vì vậy, dường như chuỗi chủ đề vẫn đang chạy. Có điều gì sai với mã ở trên không? Hoặc có thể vấn đề là với các mã khác ..
chỉnh sửa: Tôi phải thêm rằng showLoader(true)
có thể được gọi là một lần nữa (và một lần nữa) trước khi phản hồi từ máy chủ
chức năng mà các cuộc gọi "showLoader" là gì? Tôi có thể xem mã đó không? –