2013-01-15 3 views
0

의 높이를 얻을 :나는 다음과 같은 코드를 사용 해요 다른 웹 페이지

$("#galleries").load("letters/index.php"); 
    $(function(){ 
    $('#galleries').hide().fadeIn(1500); 
    }); 

모든 것이 잘 작동합니다. 내 문제는 내가 약 8 스크립트 그렇게있어, 그리고 내가 사업부의 내용을 전환 할 때마다, 그것은 첫째로, 그것은 DIV를 삭제 부드럽게 그렇게 나를 그 후, 약 0.7 초 동안 그것을 보자하지 않습니다 , 그것은 1 초 이내에 모든 내용을로드하고, 그것은 정말로 내 눈을 교란시킵니다.

은 내가 페이지 I 싶어 부하의 높이를 얻고, 그 높이로 DIV의 높이를 설정 한 후 정보를로드하는 것, 해결책에 대해 생각했다. 작동할까요? 왜냐하면 LOAD 함수는 div에서 모든 것을 제거하기 때문에 height 속성도 제거 할 것인가?

//GET TARGET'S HEIGHT 
//SET #galleries TO THAT HEIGHT 
$("#galleries").load("letters/index.php"); 
    $(function(){ 
$('#galleries').hide().fadeIn(1500); 
}); 

나는 대상의 높이를 취득하고 설정하는 방법을 모른다 :

일반적으로, 이것은 달성하기 위해 노력하고 무엇 메신저입니다. 하지만 어쨌든, 작동할까요? 또는 누군가 나를 위해 다른 해결책을 가지고 있습니까?

미리 감사드립니다.

+0

당신은 CSS 수정을 (내가 당신이 원하는이 아니라는 것을 알고) 할 수 있습니다 , 콘텐츠로드의 증가 및 감소를 피하기 위해 일부 값의 최소 높이를 가질 수 있습니다. 는 지금까지 내가 아는 한, everypage 메신저 로딩은 다른 높이를 가지고, 그것은 – Razmig

+0

을 렌더링 할 필요가 페이지의 높이를 얻을 수 있지만합니다. 내 문제를 해결하지 못합니다. 특히 페이지의 높이가 약 400px이고 높이가 2000px 인 경우가 있습니다. – kfirba

답변

1

콘텐츠가로드 된 후 코드를 실행할 수있는 load()의 전체 콜백을 사용하고 있지 않습니다.

이 같은 것을보십시오 :

$(function(){ 
/* hide first, then load*/ 
$('#galleries').hide().load("letters/index.php", function(){ 
     /* new content now exists*/ 
     $(this).slideDown()/* or fadeIn() or any other effect*/ 
    }); 
}); 

SlideDown는 전체 높이에 의존하지 그래서 부드럽게 아래에 내용을 이동합니다 아래로

+0

고마워요! 당신은 완벽하게 작동합니다! 그러나 단 1 문제가있다, 그것은>이 약 50 픽셀을 위해 슬라이드, 다음, 그것은 두 번째로 아래로 떨어지고 그냥 모든 콘텐츠를 보여 사업부 아래로 슬라이딩 시작합니다. <내가 slidedown 사건을 어떻게 아래로 슬라이드 전체 div를로드하려면? charlietfl의 코드가 잘 작동 @ – kfirba

+1

는, 어쩌면 당신은 CSS의 문제가 – Razmig

+0

모든 HTML이 유효한지 확인하고 확인 페이지가 유효 문서 타입을 가지고 있으며, 쿼크 모드에서 실행되지합니다. 또한 ..이게 테이블 이니? – charlietfl

관련 문제