JQuery Ajax: старый контент включается перед отображением загруженного контента - PullRequest
0 голосов
/ 04 июня 2010

есть проблема с моим кодом ajax. У меня есть несколько ссылок и область контента. Когда я нажимаю на ссылку, я скрываю область содержимого, загружаю новые данные и снова показываю область содержимого. Это работает, но при отображении области содержимого вы видите старое содержимое в течение короткого времени, а затем переходит на новое содержимое.

Можно ли как-нибудь позволить экрану загрузки появляться дольше? Также функция скрытия работает только при первом использовании ссылки.

jQuery(document).ready(function() { </p> <pre><code>jQuery('.ajax').click(function(){ var toLoad = jQuery(this).attr('href'); jQuery('#ajax_content').hide('slow',loadContent); jQuery('#load').remove(); jQuery('#main').append('<span id="load">LOADING...</span>'); jQuery('#load').fadeIn('normal'); function loadContent() { jQuery('#ajax_content').load(toLoad,'',showNewContent()) } function showNewContent() { jQuery('#ajax_content').show('normal',hideLoader()); } function hideLoader() { jQuery('#load').fadeOut('normal'); } return false; });

});

У меня есть этот код Ajax от этого источника

Заранее спасибо!

1 Ответ

2 голосов
/ 04 июня 2010

Вы можете попробовать очистить свой элемент содержимого перед выполнением команды получения AJAX:

jQuery(document).ready(function() {

jQuery('.ajax').click(function(){  

var toLoad = jQuery(this).attr('href'); 
jQuery('#ajax_content').hide('slow',loadContent);  
jQuery('#load').remove();  
jQuery('#main').append('<span id="load">LOADING...</span>');  
jQuery('#load').fadeIn('normal');  

function loadContent() {  
    jQuery('#ajax_content').empty().load(toLoad,'',showNewContent())  
}  
function showNewContent() {  
    jQuery('#ajax_content').show('normal',hideLoader());  
}  
function hideLoader() {  
    jQuery('#load').fadeOut('normal');  
}  
return false;  

});  

});

Чтобы сделать приложение более устойчивым, вы также можете использовать методы .queue() для создания очереди действий. Затем, когда пользователь нажимает другую ссылку, когда она уже загружается, ее легко отменить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...