programing

문서의 스크롤 위치를 얻으려면 어떻게 해야 합니까?

topblog 2023. 10. 10. 20:02
반응형

문서의 스크롤 위치를 얻으려면 어떻게 해야 합니까?

문서의 스크롤 위치 값을 구하는 방법은?

다음은 다음과 같습니다.scrollHeightjQuery selector를 사용하여 얻은 요소:

$(selector)[0].scrollHeight

한다면selector는 원소의 아이디(예:elemId), 배열의 0-indexed 항목이 선택하고자 하는 요소임이 보장되며,scrollHeight맞겠습니다.

$(document).height() //returns window height

$(document).scrollTop() //returns scroll position from top of document

Jquery 1.6 이상을 사용하는 경우 prop를 사용하여 값에 액세스합니다.

$(document).prop('scrollHeight')

이전 버전은 특성에서 값을 얻곤 했지만 포스트 1.6은 아닙니다.

document.getElementById("elementID").scrollHeight

$("elementID").scrollHeight

HTML DOM Elements를 사용하지만 jQuery Selector는 사용하지 않습니다.다음과 같이 사용할 수 있습니다.

var height = document.body.scrollHeight;

이와 같은 방법으로 문제를 해결할 수 있습니다.

$.getDocHeight = function(){
     var D = document;
     return Math.max(Math.max(D.body.scrollHeight,    D.documentElement.scrollHeight), Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), Math.max(D.body.clientHeight, D.documentElement.clientHeight));
};

alert( $.getDocHeight() );

Ps: 필요할 때마다 해당 기능을 호출하십시오. 경고는 테스트 목적입니다.

창 스크롤 바에 의해 스크롤되는 영역의 실제 스크롤 가능 높이를 얻으려면 다음을 사용했습니다.$('body').prop('scrollHeight'). 이것이 가장 간단한 작업 솔루션인 것 같지만, 호환성을 광범위하게 확인하지 못했습니다.Emanuelle Del Grande는 8 이하의 IE에서는 이것이 아마도 효과가 없을 것이라고 또 다른 해결책에 대해 언급합니다.

대부분의 다른 솔루션은 스크롤 가능한 요소에 대해서는 정상적으로 작동하지만, 전체 창에 대해서는 정상적으로 작동합니다.특히, 안킷의 해결책, 즉, 마이클과 같은 문제가 있었습니다.$(document).prop('scrollHeight')돌아옵니다undefined.

시도해 보기:

var scrollHeight = $(scrollable)[0] == document ? document.body.scrollHeight : $(scrollable)[0].scrollHeight;

예를 들어, 이 코드는 모든 DIV 태그에 대해 스크롤 바를 하단에 배치합니다.

기억하세요: jQuery는 값 대신 함수를 인수로 사용할 수 있습니다."this"는 jQuery에서 처리하는 객체이며, 함수는 현재 DIV "this"의 scrollHeight 속성을 반환하고 문서의 모든 DIV에 대해 수행합니다.

$("div").scrollTop(function(){return this.scrollHeight})

언급URL : https://stackoverflow.com/questions/3407133/how-do-i-get-the-scroll-position-of-a-document

반응형