2012-07-10 42 views
1

我期待有一个div,其中包含一个PHP页面淡出,卸载,然后在一个新的页面褪色每个菜单:jQuery的问题

 $('#home').click(function() { 
     $('#page_container').fadeOut(500).unload(); 
     $('#page_container').load('php/home.php').fadeIn(550); 
    }); 

由于某种原因,它会在新页面淡出之前闪烁,然后淡出并重新加载。

有人可以帮助我这个。我相信这很简单,但我似乎无法找到正确的语法来使其起作用?

回答

2

应设置load()调用淡入功能的回调发生:

$("#home").on("click", function() { 
    $('#page_container').fadeOut('fast', function() { 
     $(this).unload(); 
     $(this).load('php/home.php'); 
    }); 
}) 

一旦褪色完成这会触发load()

​​是异步的,所以下一行在调用后立即执行。您的问题是由于load()正在将内容加载到您的div中,因为它开始淡出。

+0

谢谢奥斯汀,我会放弃它。 – 2012-07-11 10:56:25

+0

太棒了,只要确保点击复选框,如果这最好的回答你的问题。 – Austin 2012-07-11 11:23:29

+0

是的,这太棒了。再次感谢你! – 2012-07-11 11:29:25

1

没有演示很难完全理解,但你看过使用回调?

$('#home').click(function() { 
    $('#page_container').fadeOut(500, function(){ 
     $(this).unload(); 
     $('#page_container').load('php/home.php', function(){ 
      $(this).fadeIn(550) 
     }); 
    }); 

});