我正在使用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秒后,它只是用新旧内容替换新内容。 如何在内容完全加载之前保留加载文本。
答案 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
功能