sourcecode

문서 본문 스크롤을 비활성화하려면 어떻게 해야 합니까?

codebag 2023. 2. 11. 09:15
반응형

문서 본문 스크롤을 비활성화하려면 어떻게 해야 합니까?

저는 콘텐츠가 많은 HTML을 가지고 있는데 HTML이 로드되면 바로 세로 스크롤바가 나타납니다.이제 이 HTML에서 IFRAME 전체 화면이 로드됩니다.문제는 IFRAME이 로딩되어도 부모 스크롤바는 그대로 유지되기 때문에 IfRAME이 로딩되어 있을 때 스크롤바를 디세블로 하고 싶습니다.

나는 시도했다.

  • document.body.scroll = "no"FF와 크롬에서는 동작하지 않았습니다.
  • document.style.overflow = "hidden";이 후에도 스크롤할 수 있었고, 전체 iframe이 위로 스크롤되어 상위 HTML이 나타납니다.

요구 사항은 IFRAME이 로드되었을 때 부모 HTML에 스크롤바가 있는 경우 IFRAME 전체를 스크롤할 수 없다는 것입니다.

좋은 생각 있어요?

부모 스크롤바가 아닌 iframe 스크롤바를 사용하는 경우:

document.body.style.overflow = 'hidden';

iframe이 아닌 부모의 스크롤바를 사용하려면 다음을 사용해야 합니다.

document.getElementById('your_iframes_id').scrolling = 'no';

또는 를 설정합니다.scrolling="no"iframe 태그 속성:<iframe src="some_url" scrolling="no">.

css와 함께

body, html {
  overflow: hidden
}

다음 JavaScript를 사용할 수 있습니다.

var page = $doc.getElementsByTagName('body')[0];

스크롤 사용을 비활성화하려면:

page.classList.add('noscroll');

스크롤 사용을 활성화하려면:

page.classList.remove('noscroll');

CSS 파일에서 다음을 추가합니다.

.noscroll {
    position: fixed!important
}

이 css 추가

body.disable-scroll {
    overflow: hidden;
}

및 언제 이 코드를 실행 중지할지

$("body").addClass("disable-scroll");

및 활성화 시 이 코드를 실행합니다.

$("body").removeClass("disable-scroll")

이게 오래된 질문인건 알지만, 난 그냥 내가 끼어들어야겠다고 생각했어.

disable Scroll을 사용하고 있습니다.심플하고 꿈만 같아

본문 스크롤을 비활성화하는 데 문제가 있지만 하위 요소(모달이나 사이드바 등)에서는 허용됩니다.뭔가 할 수 있을 것 같은데disableScroll.on([element], [options]);하지만 아직 효과가 없어요.


이것이 보다 선호되는 이유는overflow: hidden;어떤 것들이 더해질 수 있기 때문에, 오버플로우 은닉이 심해질 수 있습니다.overflow: hidden;다음과 같습니다.

이것은 CSS 로드가 완료되기 전에 렌더링되기 때문에 프리 로더 등에 적합합니다.

하지만 오픈 네비게이션이 클래스를 추가할 경우 문제가 발생합니다.body- 태그(예:<body class="body__nav-open">그리고 나서, 그것은 와의 큰 줄다리기로 변한다.overflow: hidden; !important온갖 헛소리도 다 하고

답변: document.body.body = '아니오';

언급URL : https://stackoverflow.com/questions/2469529/how-to-disable-scrolling-the-document-body

반응형