2013-07-31 1 views
5

를 새로 고칠 방법 : 실행페이지로드 scrollTop()를 사용하여 크롬의 현재 스크롤 위치는/항상 0 반환 크롬에서 다음을 실행

$(window).on('load', function(){ 
    console.log($(window).scrollTop()); 
}); 

을 그 콘솔을 통해 같은 명령을

$(window).scrollTop() 

올바른 번호를 반환합니다. (즉, : 843)

StackOverflow에서이 문제에 대해 많은 질문이 있지만 올바른 대답이나 대안을 제공하지 못했습니다. 나는 손실에 ...

+0

당신이 URL을로드 대해 이야기를 그 페이지의 명명 된 앵커를 가리키는, f.ex : example.com/#section? – David

답변

5

scrollTop()은 스크롤 막대의 현재 세로 위치를 반환합니다. 일반적으로 페이지로드시 스크롤 막대는 0에 있습니다. 콘솔이 다른 것을 인쇄 할 경우, 또는 브라우저이 호출되기 전에 스크롤해야합니다.

이 지정된 앵커를 사용하거나 스크롤 위치에서 페이지를 새로 고침하는 경우, 당신은 한 번만 트리거 스크롤 이벤트 핸들러 바인딩 할 수 있습니다 - 페이지로드 :

$(window).on('scroll', function() { 
    console.log($(this).scrollTop()); 
}); 
+2

그 이유는 페이지로드/새로 고침이 문제라는 것입니다. 새로 고침을하면 브라우저가 스크롤 위치를 유지하므로 정확히 내가 찾고있는 내용입니다. – Chris

+0

Nevermind, 당신의 솔루션은 훌륭하게 작동합니다 ... :) – Chris

+0

해결책이 브라우저가 새로 고침 할 때 자동 스크롤 기능을 포함한다는 것을 지적했습니다. – David

관련 문제