Javascript jqueryajax:在显示加载的内容之前,旧内容会自动插入

Javascript jqueryajax:在显示加载的内容之前,旧内容会自动插入,javascript,jquery,ajax,Javascript,Jquery,Ajax,我的ajax代码有问题。 我有一些链接和一个内容区。 当我点击一个链接时,我会隐藏内容区域,加载新数据并再次显示内容区域。它可以工作,但是当显示内容区域时,您会看到旧内容很短一段时间,然后它会闪烁到新内容 我可以让加载屏幕显示更长的时间吗? 此外,隐藏功能仅在我第一次使用链接时起作用 jQuery(document).ready(function(){ jQuery('.ajax')。单击(函数(){ var toLoad=jQuery(this.attr('href'); jQuery(“#a

我的ajax代码有问题。 我有一些链接和一个内容区。 当我点击一个链接时,我会隐藏内容区域,加载新数据并再次显示内容区域。它可以工作,但是当显示内容区域时,您会看到旧内容很短一段时间,然后它会闪烁到新内容

我可以让加载屏幕显示更长的时间吗? 此外,隐藏功能仅在我第一次使用链接时起作用

jQuery(document).ready(function(){

jQuery('.ajax')。单击(函数(){
var toLoad=jQuery(this.attr('href');
jQuery(“#ajax_content”).hide('slow',loadContent);
jQuery('#load').remove();
jQuery('#main').append('LOADING…');
jQuery('#load').fadeIn('normal');
函数loadContent(){
jQuery('#ajax_content').load(toLoad',showNewContent())
}  
函数showNewContent(){
jQuery('#ajax_content').show('normal',hideLoader());
}  
函数hideLoader(){
jQuery(“#加载”).fadeOut('normal');
}  
返回false;
});  
}))

我从中获得了这段ajax代码


提前谢谢

在发出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;  

});  

});
jQuery(文档).ready(函数(){
jQuery('.ajax')。单击(函数(){
var toLoad=jQuery(this.attr('href');
jQuery(“#ajax_content”).hide('slow',loadContent);
jQuery('#load').remove();
jQuery('#main').append('LOADING…');
jQuery('#load').fadeIn('normal');
函数loadContent(){
jQuery('#ajax_content').empty().load(toLoad',showNewContent())
}  
函数showNewContent(){
jQuery('#ajax_content').show('normal',hideLoader());
}  
函数hideLoader(){
jQuery(“#加载”).fadeOut('normal');
}  
返回false;
});  
});

为了使应用程序更加健壮,还可以使用
.queue()
方法来构建操作队列。然后,当用户在一个链接已加载时单击另一个链接时,很容易取消该链接。

非常感谢!工作完美。我还要看看排队的队伍!但我还有一个问题。此“滑出”效果只起作用一次,滑出不起作用。新内容刚刚弹出…您能在www.jsfiddle.net上创建一个工作示例并发布URL吗?这可能会让我们告诉你更多。我们发现它可以在一个简单的html上工作。但我在Magento中使用它,加载内容后,滑动功能不再工作。如果加载后所有的函数都不起作用,我会理解得更多一些,但这只是动画。装载工作。。。也许与Magento的原型有冲突?但我对jQuery使用noconflictmode…我建议您尝试暂时从测试页面中删除原型,并以这种方式尝试。有一个关于冲突的官方jQuery文档页面,但我相信您已经完成了它所说的一切()。好吧,非常感谢您的帮助!我想有什么不同的东西我没有记住。欢迎马克斯
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;  

});  

});