当用户在标签之间切换时,我希望它能立即加载基于标签的内容...当你单击一个标签时,新的页面会加载,但是你可以看到旧页面的大约一半第二,在新的加载之前,它看起来很奇怪。知道我做错了什么吗?谢谢:))
我认为这个问题在某种程度上是在load()。hide()。fadeIn()但是从我读到的它应该立即没有任何延迟......这很奇怪,因为它在我的localhost上无缝工作,但在hostgator上单击不同标签时会有延迟吗?
if ($('li:first').hasClass('active')) {
$('#populate').load('basic.php').hide().fadeIn('slow');
}
$('li:first').click(function() {
if ($(this).hasClass('active')) {
return;
}
$('li.advanced').removeClass('active');
$(this).toggleClass('active');
$('#populate').load('basic.php').hide().fadeIn();
});
$('li.advanced').click(function() {
if ($(this).hasClass('active')) {
return;
}
$('li:first').removeClass('active');
$(this).toggleClass('active');
$('#populate').load('advanced.php').hide().fadeIn();
});
答案 0 :(得分:1)
由于load()
是异步的,因此在您调用它时会立即返回。这可能是导致旧内容显示问题的原因 - 您在加载完成之前隐藏和淡化旧版本的内容。您可以传递load()
一个回调,以便在加载完成之后隐藏/淡出运行,如下所示:
$('#populate').load('advanced.php', function() {
$('#populate').hide().fadeIn();
});