ГлавнаяБлогAjax загрузка, минимальное время работы

Ajax загрузка, минимальное время работы

Рамиль Юналиев
Рамиль Юналиев
E-Commerce Lead
27 сентября 2021 г.
1 мин чтения

Когда AJAX-запрос выполняется слишком быстро, пользователь не успевает заметить загрузчик — и воспринимает это как ошибку.

Задача: показывать загрузчик минимум 1,5 секунды.

var loaderTimeStart = 0;
var loaderTimer = 1500;
 
showLoader = function () {
    loaderTimeStart = new Date().getTime();
    // код для отображения загрузчика
};
 
hideLoader = function () {
    loaderTimeEnd = new Date().getTime();
    var time = this.loaderTimeEnd - this.loaderTimeStart;
 
    if (time < this.loaderTimer) {
        var t = this.loaderTimer - time;
        setTimeout(function () {
            // код для скрытия загрузчика
        }, t);
        return;
    }
    // код для скрытия загрузчика
};

hideLoader() вычисляет разницу между реальным временем запроса и минимумом, и задерживает скрытие на недостающее время.