Я показываю загрузочный GIF на сайте, используя модал начальной загрузки, пока программа ожидает запрос jquery.ajax. На ajaxSend я отображаю модал, а на ajaxStop я хочу закрыть его, но это не так.
Вот две функции
$(document).ajaxSend(function(e, xhr, opt){
console.log("starting");
$('#ModalEingeloggtLaden').modal({//prevent modal to be closed by user
backdrop: 'static',
keyboard: false
});
var modal = $("#ModalEingeloggtLaden");
modal.modal();
});
$(document).ajaxStop(function(){
console.log("done");
var modal = $("#ModalEingeloggtLaden");
modal.modal("hide");
console.log("hidden");
});
Если вам нужно узнать больше кода, просто скажите мне.
Моя идея заключалась в том, что две функции вызываются слишком рано, поэтому модал не виден при вызове второй функции, поэтому его нельзя сделать невидимым. Если это может быть проблемой, у кого-нибудь есть идеи, как ее решить?
Заранее спасибо.
EDIT
Я посмотрел в консоли, и похоже, что загрузочный gif загружается после закрытия модального режима, но я не знаю, как это изменить ...
РЕШЕНИЕ
$(document).ajaxStart(function(e, xhr, opt){
$('#ModalEingeloggtLaden').modal({//Verhindern, dass Laden Symbol weggedrückt wird
backdrop: 'static',
keyboard: false
});
var modal = $("#ModalEingeloggtLaden"); //Modal zum bestätigen setzen
modal.modal("show");
});
$(document).ajaxStop(function(){
var modal = $("#ModalEingeloggtLaden"); //Modal zum bestätigen setzen
modal.on('shown.bs.modal', function (e) {
modal.modal("hide");
});
});
Просто ожидание показанного события, прежде чем скрыть модал, работает отлично.