2013-08-13 1 views
0
$("a.open").click(function() { 
    $(".overlay").fadeIn(650, 'easeOutQuad', function() { 
     $(".pageContainer").load(function() { 
      $(this).delay(100).fadeIn(850, 'easeOutQuad'); 
     }); 
    }); 
}); 

완전히로드되었을 때 표시해야하는 페이지가 있는데, 필요에 따라 오버레이가 완벽하게 사라지지만 display : none이라는 pageContainer는 사라집니다.콜백 문제. 기능이 실행되지 않음

$ (". pageContainer")가있을 때 완벽하게 작동했습니다. 지연 (100) .fadeIn (850, 'easeOutQuad'); 하지만 페이드 인하기 전에 페이지가로드되어 있는지 확인해야합니다. 누구나 눈부신 실수를하고 나를 도와 줄 수 있습니까? 미리 감사드립니다.

+0

콘솔에 오류가 있습니까? – h2ooooooo

+0

오류 : 구문 오류, 인식 할 수없는 표현식 : jquery-1.8.3.min.js – user2151796

+0

.load ([EventObject])는 핸들러를로드 된 이벤트에 바인드합니다. 페이드 인이 끝나면 왜 그걸합니까? fadein이 끝나기 전에 pageContainer 객체가 finsihed 로딩되면, 핸들러는 결코 해고되지 않습니다! – Peter

답변

0

창 준비 사용해보십시오 :

$("a.open").click(function() { 
    $(".overlay").fadeIn(650, 'easeOutQuad', function() { 
     $(window).ready(function() { 
      $(".pageContainer").delay(100).fadeIn(850, 'easeOutQuad'); 
     }); 
    }); 
}); 

나는 .pageContainer은 그 내용이 완료되면 자체를 보여주고있다 같은데요? 실제 요소에 내용을 배치하는 부분이 누락되어 있으므로 배치하기가 다소 어려워졌습니다. $(window).ready()

+0

사실상, 기본 페이드 인 역할을하는 검은 "오버레이"가 있고 거기에 남아 있으면 ".pageContainer"가 맨 위에 페이드 인합니다. a.close 버튼을 클릭하면 "pageContainer"는 검은 색 "오버레이"로 페이드 아웃합니다. 그 자체가 페이드 아웃됩니다. – user2151796

+0

아, 나는 그것이 퇴색 할 필요가 있었다는 가정 아래있었습니다 (더 일반적입니다). 다시 확인하자 – Martijn

+0

내 대답을 업데이트했습니다 – Martijn

관련 문제