2011-12-22 6 views
2

나는이 사이트에서 작업 중입니다 : http://www.massobservation.org. '정보'를 클릭하면 콘텐츠 상단에 div가 표시되고 원한다면 오버레이가 표시됩니다. 그러나 오버레이가 활성화 된 경우 오버레이 div의 내용까지만 스크롤 할 수 있도록 사이트를 원합니다. 그러나 오버레이가 끝나더라도 (노란색 배경이 끝나더라도) 사이트는 여전히 아래로 스크롤됩니다.오버레이 div - 내용만큼 스크롤하십시오.

이의 예는 여기에 제공됩니다 : http://cargocollective.com/montessori

어떤 아이디어? 미리 감사드립니다.

답변

2

만큼 오버레이 #top의 자식 요소 아니므로,이 작업을해야합니다

오버레이가 열립니다

, 당신의 주 내용으로이 스타일을 추가

#top { 
    position: fixed; 
} 

오버레이가 종료

, 스타일을 제거하십시오.

+0

Grrr, 나는 이것이 간단해야만한다는 것을 알았다! :) –

+0

방금 ​​참조한 사이트에서 Firebug를 사용하여 어떻게 작동하는지 확인했습니다. [Firebug] (http://getfirebug.com/)를 사용하고 있습니까? –

+0

하하,하지만 나는 단지 # div div에 추가 할 생각이 없었습니다. 이제 jquery 클래스를 추가하려면 click function이 작동하도록하십시오. 다시 한번 감사드립니다. –

0

당신이 시도 할 수있는 것은 :

  • 오버레이가 보이는 설정 오버 플로우가 발생하는 경우 : 숨겨진; 주요 내용에. 나는 div .work-section에서 이것을 시도했다.
  • 오버레이 콘텐츠가 기본 콘텐츠의 하위가 아닌지 확인하십시오. 지금은 .work-section div의 자식이며 외부로 이동하십시오.

이렇게하면 오버레이 콘텐츠 만 브라우저를 스크롤해야합니다.

+0

도움 주셔서 감사합니다. 오버플로 추가 : 숨겨진 효과가 있었을뿐 아니라 숨겨진 효과도있었습니다. 오버레이 div를 주요 콘텐츠 밖으로 이동했습니다. –

0

오버레이를 표시 할 때 같은 작업을 수행 할 수 있습니다

A) 주 문서에 대한 스크롤 해제 - $(overlay).css('height', $(window).height()+'px');

C) - 윈도우의 높이로 $(document).css('overflow', 'hidden');

b)는 오버레이의 높이 설정을 오버플로 설정 : 오버레이의 자동 설정 - $(overlay).css('overflow', 'auto');

이렇게하면 스크롤이 오버레이의 콘텐츠 끝까지 작동하도록해야합니다.

+0

안녕하세요, 고마워요. 나는 볼 것이다! –

관련 문제