2011-08-19 3 views
2

고정 된 크기의 div 안에 탭이있을 때마다 해당 탭이 외부 div보다 커서 전체 페이지가 스크롤되지 않을 때까지 스크롤 할 수 없습니다. 더 이상 내 탭을보고, 나는 jsfiddle에서 문제를 보여주기 위해 조롱했다.숨겨진 div를 표시 할 때 스크롤을 중지하는 페이지

문제를 보려면 페이지가 포함 된 div보다 작아야합니다.

jsFiddle

사람은 탭이 자바 스크립트를 사용하지 않고 전환 할 때 나는 아래로 스크롤에서 페이지를 막을 수있는 방법을 알아?

답변

0

자바 스크립트를 사용하여없이? 할 수 없습니다.

자바 스크립트를 사용하여 간단합니다 : 나에게 evt.preventDefault을 보여주는

evt.preventDefault(); 

http://jsfiddle.net/vVJY4/3/

+0

내 대답을 보라. 내가 할 수있는 일 : P – Andrew

+0

그는 "jQuery를 사용하는 편안함에서 벗어나고 싶지 않다"라고 말하려고했다.) –

1

감사합니다() 그것은 나에게 맞는 자리에보고되었다. 링크를 클릭하면 내 숨겨진 div가 페이지가 스크롤됩니다.

나는 또한 단지 뭔가 다른 href 속성에서 ID를 제거 할 수 있습니다 스크롤을 중지하려면,

jsFiddle

+0

'접근성'과'우아한 저하'목적을 위해, 거기에 앵커라는 이름이 붙어 있습니다. –

+0

또한 이것이 JavaScript를 사용하지 않고 해결책이라고 말하는 것은 앵커를 모두 제거하는 것이 해결책이라고 말하는 것과 같습니다. 실제로 페이지를 작성하지 마십시오. 해결책입니다! –

+0

@ 아담 나는 원래 그것이 내 css가 엉망이되고 href attr이 아니라고 생각했다. 원인이다. 나는 그 답이 정정 된 스크롤이 아니라 오히려 처음 스크롤이 없었던 것을 원하지 않았다. – Andrew

0

사용하려는 경우 "순수"자바 스크립트 사용 :

function stopScroll() 
{ 
    document.getElementById("body_id").style.overflow = "hidden"; 
} 

function startScroll() 
{ 
    document.getElementById("body_id").style.overflow = "auto"; 
} 
관련 문제