Я не уверен, что полностью понимаю ваш вопрос, но при условии, что 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, чтобы гарантировать, что изображение также скрывается в случае сбоя запроса.