在加载新内容之前,AJAX Loader不会停留

时间:2012-07-10 06:46:02

标签: ajax jquery

我正在使用AJAX功能来实时加载我的WordPress页面。我使用以下方法使其实时加载

var toLoad = $(this).attr('href')+' #container';
$('#container').slideUp('300',loadContent);
$('#load').remove();
$('#wrapper').append('<span id="load">LOADING...</span>');
$('#load').fadeIn('normal');
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
function loadContent() {
$('#container').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#container').slideDown('400',hideLoader());
}
function hideLoader() {
$('#load').fadeOut('normal');
}
return false;

我面临的问题是加载...文本出现半秒钟,旧内容再次出现..然后在4-5秒后,它只是用新旧内容替换新内容。 如何在内容完全加载之前保留加载文本。

1 个答案:

答案 0 :(得分:1)

问题对我来说并不十分清楚,

但是,

$('#container').load(toLoad,'',showNewContent())

应改为

$('#container').load(toLoad,'',showNewContent)

$('#container').slideDown('400',hideLoader());

$('#container').slideDown('400',hideLoader);

我们传递函数引用(我们不称它们)

另外,我认为没有.fadeIn('normal')

可能是.fadeIn('slow').fadeIn('fast')

另外,

后面的

$('#container').slideUp('300',loadContent);

不要等待动画完成。他们立即被召唤。

我想,你希望他们放入loadContent功能