J'ai un modal Bootstrap qui est lancé à partir d'un lien. Pendant environ 3 secondes, il reste vide, tandis que la requête AJAX récupère les données de la base de données. Comment puis-je implémenter une sorte d'indicateur de chargement? Le bootstrap de Twitter fournit-il cette fonctionnalité par défaut?
EDIT: code JS pour modal
<script type="text/javascript">
$('#myModal').modal('hide');
$('div.divBox a').click(function(){
var vendor = $(this).text();
$('#myModal').off('show');
$('#myModal').on('show', function(){
$.ajax({
type: "GET",
url: "ip.php",
data: "id=" + vendor,
success: function(html){
$("#modal-body").html(html);
$(".modal-header h3").html(vendor);
$('.countstable1').dataTable({
"sDom": "T<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"sPaginationType": "bootstrap",
"oLanguage": {
"sLengthMenu": "_MENU_ records per page"
},
"aaSorting":[[0, "desc"]],
"iDisplayLength": 10,
"oTableTools": {
"sSwfPath": "swf/copy_csv_xls_pdf.swf",
"aButtons": ["csv", "pdf"]
}
});
}
});
});
});
$('#myModal').on('hide', function () {
$("#modal-body").empty();
});
</script>
la source
ajaxStart()
etajaxStop()
serait une meilleure solution selon la réponse @ajaristi car ils ne se déclenchent qu'une fois par lot AJAX: stackoverflow.com/questions/3735877/…Il existe une configuration globale utilisant jQuery. Ce code s'exécute sur chaque requête ajax globale.
Voici une démo: http://jsfiddle.net/sd01fdcm/
la source
.ajaxStart()
etajaxStop()
qui se déclenche une fois par lot AJAX: stackoverflow.com/questions/3735877/… .Un indicateur de chargement est simplement une image animée (.gif) qui s'affiche jusqu'à ce que l'événement terminé soit appelé sur la requête AJAX. http://ajaxload.info/ offre de nombreuses options pour générer des images de chargement que vous pouvez superposer sur vos modaux. À ma connaissance, Bootstrap ne fournit pas la fonctionnalité intégrée.
la source
Voici comment je l'ai fait fonctionner avec le chargement de contenu distant qui doit être actualisé:
En gros, remplacez simplement le contenu modal lors du chargement par un message de chargement. Le contenu sera alors remplacé une fois le chargement terminé.
la source
C'est ainsi que j'ai réalisé l'indicateur de chargement par un Glyphicon:
la source