2012-07-10 2 views
1

내가 페이드 아웃 언로드 한 다음 모든 메뉴에 새 페이지에서 퇴색하는 PHP 페이지를 보유하고 사업부를 가지고 찾고 있어요 :JQuery와 문제

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

어떤 이유로 인해 새 페이지가 깜박 거리고 첫 번째 인스턴스가 사라지기 전에 페이드 아웃되고 다시로드됩니다.

누군가 나를 도와주세요. 나는 그것이 간단하다고 확신하지만, 제대로 작동하기 위해서는 올바른 구문을 찾을 수없는 것 같습니다.

답변

2

당신은 페이드 함수의 콜백에서 발생하는 load() 전화를 설정해야합니다 : 페이드가 완료되면이 load()을 발사합니다

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

.

fadeOut()은 비동기식이므로 다음 줄은 호출 된 직후에 실행됩니다. load()이 페이드 아웃하기 시작할 때 바로 div에 콘텐츠를로드하기 때문에 문제가 발생했습니다.

+0

오스틴에게 감사드립니다. –

+0

위의 질문에 가장 잘 답변 한 경우 확인란을 클릭하십시오. – Austin

+0

예, 환상적입니다. 다시 감사합니다! –

1

데모가 없으면 완전히 이해하기 어렵지만 콜백을 사용해 보셨습니까?

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

});