답변:
그들 모두 같은 효과를 낼 것 입니다.
의견에서 지적 그러나 : $(window).scrollTop()
더 많은 웹 브라우저에서 지원되는 것보다 $('html').scrollTop()
.
첫째, 당신은 차이를 이해하는 것이 필요 window
하고 document
. window
객체는 최상위 클라이언트 측 개체입니다. window
개체 위에는 아무것도 없습니다 . JavaScript는 객체 지향 언어입니다. 객체로 시작하여 객체의 속성 또는 객체 그룹의 속성에 메소드를 적용합니다. 예를 들어, document
객체는 객체의 window
객체입니다. document
의 배경색 을 변경하려면 document
의 bgcolor
속성을 설정하십시오 .
window.document.bgcolor = "red"
귀하의 질문에 대답하기 위해, 사이의 최종 결과에는 차이가 없다 window
하고 document
scrollTop
. 둘 다 동일한 출력을 제공합니다.
일반적인 사용에서 document
주로 이벤트를 등록하고 사용하는 window
등의 일을 scroll
, scrollTop
하고 resize
.
이 작업을 수행하는 브라우저 간 방법은
var top = ($(window).scrollTop() || $("body").scrollTop());
$("body").scrollTop()
Chrome에서는 항상 0을 반환합니다.
$("body").scrollTop()
더 이상 사용되지 않으며 Chrome 또는 FF에서 더 이상 작동하지 않습니다 . 0을 반환합니다
방금 scrollTop
여기 에 설명 된 것과 비슷한 문제가 있습니다.
결국 나는 선택기를 사용하여 Firefox 와 IE 에서이 문제를 해결했습니다.$('*').scrollTop(0);
효과를 원하지 않지만 문서, 본문, HTML 및 창 불일치 문제를 해결하는 요소가 있으면 완벽하지 않습니다. 도움이된다면 ...
$("html,body").scrollTop(val)
아무런 문제가 없었습니다