2009-08-27 5 views
1

jQuery의 load() 함수를 사용하여 별도의 페이지에서 목록을로드하고 현재 목록을 슬라이드 아웃 한 다음 새 목록을 슬라이드하는 자바 스크립트 코드가 있습니다.javascript and ajax load, then effects

이제 새 목록이 완전히로드 될 때까지 이전 목록을 슬라이드시키지 마십시오. 아무도이 스크립트를 실행하는 동안 두 번째 생각을 가지고있는 것처럼 보이지 않고 이것을 달성하는 방법을 말해 줄 수 ..

감사합니다. .

편집

$('.cont a').click(function() { 
    var page = $(this).attr('href'); 
    $('.p-list').prepend('<div class="loader">&nbsp;</div>'); 
    $('.p-list').load(page +" .proj").hide().fadeIn(); 
    return false; 
}); 

죄송에서 코드를 넣어하지 않는 그러나, 나는 정말

+0

이 질문에 대답하는 것에 대해 다시 생각하고 있습니다. 명확히하십시오. –

+0

에서와 같은 두 번째 생각? 기본적으로 jquery의 load 함수의 콜백을 사용하려고하면 효과가 깜박입니다. 그것은 위로 미끄러 져, 새로운 페이지가 아직로드되지 않았 음을 의미하는 자체를 다시 아래로 슬라이드 한 다음 새 내용을 표시합니다. – Indranil

+0

왜 코드를 게시하지 않습니까? 진지하게. –

답변

5

이 그것을 어떻게해야 ...이 얼마나 도움이 모르는 :

$("#someDiv").slideUp("slow").load('blah.html', function() { 
    $(this).slideDown("slow"); 
}); 

로드 콜백 (또는 다른 아약스 메소드 중 하나)에서 slideDown 메서드를 호출하면 해당 애니메이션이 e lement가 응답으로 가득 찼습니다. slideUp 효과가 완료되면 페이지를로드로,

$("#someDiv") 
    .slideUp("slow", function(){ 
     $(this).load('blah.html', function() { 
      $(this).slideDown("slow"); 
     } 
    ); 
}); 

그것은 나를 위해 더 나은 일 :

편집 : 당신이 시도 할 수

$('.cont a').click(function() { 
     var page = $(this).attr('href'); 
     $('.p-list').prepend('<div class="loader"> </div>'); 
     $('.p-list').slideUp("slow").load(page +" .proj", function() { 
      $(this).fadeIn("slow"); //or show or slideDown 
     }); 
     return false; 
}); 
+0

코드 스 니펫에 감사드립니다. :) – Indranil

1

: 코드에 그것을 적용하려면 .