Этот код работает для jQuery, но с простой модификацией также для javascript. При этом вам вообще не нужно будет менять коды запросов.
- Создайте элемент div, содержащий анимацию (либо другой элемент div с css-animation, либо анимированный gif в элементе img), и присвойте ему id = "loadingicondiv". Например, вот так
<div id="loadingicondiv">
<div id="loadingicon" style="background:url('imgs/logo.png') center no-repeat;opacity:1.0;display:none;position:absolute;z-index: 9999;"></div></div>
- Установите стиль этого div в вашем файле css следующим образом
#loadingicondiv{
width: 100vw;
height: 100vh;
background: rgba(0,0,0, 0.3);
position: fixed;
z-index: 9999;
}
- В файле JS для встраивания введите этот
function showAnimation(){
$('#loadingicondiv').css({display : ''});
};
function hideAnimation(){
$('#loadingicondiv').css({display : 'none'});
};
$(document).ajaxStart(showAnimation).ajaxStop(hideAnimation);
Эта последняя строка означает, что каждый запрос, отправляемый вашим веб-приложением, выполняет функцию "showAnimation" в начале и выполняет функцию "hideAnimation", когда запрос выполнен.
Если вы не используете jQuery и вам нужен чистый javascript, просто замените $ ('# loadingicondiv') на следующий код
document.getElementById('loadingicondiv').style.display = 'none'
Примечание. В случае частого обновления вашего веб-сайта, для которого вы не хотите показывать эту анимацию, просто сделайте отображение анимации зависимым от глобальной переменной, для которой вы установили значение false перед отправкой этих специальных запросы, для которых вы не хотите показывать анимацию. И не забудьте установить его в true, когда запрос будет выполнен ими.