Я не уверен, что я полностью понимаю ваш вопрос, но при условии, ajaxloader.gif является загрузка изображения, он никогда не покажет, потому что он будет немедленно заменен полученным контентом.
Запрос ajax сам по себе является достаточной задержкой. Я думаю, что перемещение <img
линии из обработчика успеха будет достаточно, чтобы увидеть изображение на мгновение, прежде чем новое содержание прибывает:
// Show the loading image before firing the ajax request
$('#content').html('<img src="../images/ajaxloader.gif" />');
$.ajax({
url: "<?php echo site_url('apply/processpersonaldetails'); ?>",
type: 'POST',
data: form_data,
success: function(msg) {
// New content replaces the loading image
$('#content').html(msg);
}
});
Если вы все еще хотите дополнительную задержки перед показом нового контента, вы можете использовать SetTimeout метод например:
// Show the loading image before firing the ajax request
$('#content').html('<img src="../images/ajaxloader.gif" />');
$.ajax({
url: "<?php echo site_url('apply/processpersonaldetails'); ?>",
type: 'POST',
data: form_data,
success: function(msg) {
// Insert one second delay before showing new content (not sure why)
window.setTimeout(function() {
// New content replaces the loading image
$('#content').html(msg);
}, 1000);
}
});
Рассмотрите возможность обработки ошибок ajax, чтобы гарантировать, что изображение также скрывается, если запрос не работает.
Можете ли вы быть более конкретным? Когда вам нужна задержка? Между вызовами ajax? Прежде чем заменить старый контент на новый? Это не ясно из вашего вопроса. –
У меня точно такая же проблема, значок загрузки только «запускает» ПОСЛЕ завершения выполнения ajax. – Dryadwoods