Eu tenho um modal Bootstrap que é iniciado a partir de um link. Por cerca de 3 segundos, ele permanece em branco, enquanto a consulta AJAX busca os dados do banco de dados. Como posso implementar algum tipo de indicador de carregamento? O bootstrap do Twitter fornece essa funcionalidade por padrão?
EDIT: código JS para 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>
fonte
ajaxStart()
eajaxStop()
seria uma solução melhor de acordo com a resposta de @ajaristi, pois eles disparam apenas uma vez por lote AJAX: stackoverflow.com/questions/3735877/…Existe uma configuração global usando jQuery. Este código é executado em todas as solicitações globais de ajax.
Aqui está uma demonstração: http://jsfiddle.net/sd01fdcm/
fonte
.ajaxStart()
eajaxStop()
dispara uma vez por lote AJAX: stackoverflow.com/questions/3735877/… .Um indicador de carregamento é simplesmente uma imagem animada (.gif) que é exibida até que o evento concluído seja chamado na solicitação AJAX. http://ajaxload.info/ oferece muitas opções para gerar imagens de carregamento que você pode sobrepor em seus modais. Até onde sei, o Bootstrap não fornece a funcionalidade embutida.
fonte
É assim que eu comecei trabalhando com o carregamento de conteúdo remoto que precisa ser atualizado:
Basicamente, basta substituir o conteúdo modal durante o carregamento por uma mensagem de carregamento. O conteúdo será substituído assim que terminar o carregamento.
fonte
Foi assim que percebi o indicador de carregamento por um Glyphicon:
fonte