> 웹 프론트엔드 > JS 튜토리얼 > document.body.scrollTop 값이 항상 0인 문제 해결. 일반적인 표준 문제_javascript 기술

document.body.scrollTop 값이 항상 0인 문제 해결. 일반적인 표준 문제_javascript 기술

WBOY
풀어 주다: 2016-05-16 18:40:48
원래의
1146명이 탐색했습니다.

페이지를 만들 때 고정 위치 레이어를 사용하여 다음과 같이 레이어 위치를 설정할 수 있습니다.

window.onscroll = function (){
var oFix = document .getElementById("divfix");
oFix.style.top = document.body.scrollTop "px";
}

그런데 왜 예상한 효과를 얻지 못했습니까? document.body .scrollTop 값을 보면 항상 0 입니다. 페이지가 로 바로 시작된다면 문제가 없을 것입니다. 하지만 웹 표준을 준수하기 위해서는 당연히 DTD가 필수입니다. DTD가 있는 경우 document.body.scrollTop 대신 document.documentElement.scrollTop을 사용하세요.

window.onscroll = function (){
var oFix = document.getElementById("divfix");
oFix.style.top = document.documentElement.scrollTop "px"
}

편집자 주:

페이지에 DTD가 있는 경우(또는 DOCTYPE이 지정된 경우) document.documentElement를 사용하세요.
페이지에 DTD가 없는 경우(또는 DOCTYPE이 지정되지 않은 경우) document.body를 사용합니다.
이는 IE와 Firefox 모두에 해당됩니다.
호환성을 위해 다음 코드를 사용할 수 있습니다. var scrollTop = window.pageYOffset
|| document.documentElement.scrollTop
|| document.body.scrollTop
||

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿