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

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

WBOY
WBOY원래의
2016-05-16 18:40:481057검색

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

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
||

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.