How do I get the scroll position of a document?

JqueryScroll

Jquery Problem Overview


How to get the scroll position value of a document?

Jquery Solutions


Solution 1 - Jquery

Here's how to get the scrollHeight of an element obtained using a jQuery selector:

$(selector)[0].scrollHeight

If selector is the id of the element (e.g. elemId), it is guaranteed that the 0-indexed item of the array will be the element you wish to select, and scrollHeight will be correct.

Solution 2 - Jquery

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

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

Solution 3 - Jquery

If you are using Jquery 1.6 or above, use prop to access the value.

$(document).prop('scrollHeight')

Previous versions used to get the value from attr but not post 1.6.

Solution 4 - Jquery

document.getElementById("elementID").scrollHeight

$("elementID").scrollHeight

Solution 5 - Jquery

It uses HTML DOM Elements, but not jQuery selector. It can be used like:

var height = document.body.scrollHeight;

Solution 6 - Jquery

Something like this should solve your problem:

$.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: Call that function every time you need it, the alert is for testing purposes..

Solution 7 - Jquery

To get the actual scrollable height of the areas scrolled by the window scrollbar, I used $('body').prop('scrollHeight'). This seems to be the simplest working solution, but I haven't checked extensively for compatibility. Emanuele Del Grande notes on another solution that this probably won't work for IE below 8.

Most of the other solutions work fine for scrollable elements, but this works for the whole window. Notably, I had the same issue as Michael for Ankit's solution, namely, that $(document).prop('scrollHeight') is returning undefined.

Solution 8 - Jquery

Try this:

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

Solution 9 - Jquery

You can try this for example, this code put the scrollbar at the bottom for all DIV tags

Remember: jQuery can accept a function instead the value as argument. "this" is the object treated by jQuery, the function returns the scrollHeight property of the current DIV "this" and do it for all DIV in the document.

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSomebodyView Question on Stackoverflow
Solution 1 - JqueryDemwisView Answer on Stackoverflow
Solution 2 - JqueryBob GregorView Answer on Stackoverflow
Solution 3 - JqueryAnkitView Answer on Stackoverflow
Solution 4 - JquerySachin RView Answer on Stackoverflow
Solution 5 - JqueryaquaView Answer on Stackoverflow
Solution 6 - JqueryZuulView Answer on Stackoverflow
Solution 7 - JqueryacjayView Answer on Stackoverflow
Solution 8 - JqueryDmitry KominView Answer on Stackoverflow
Solution 9 - JquerySteveView Answer on Stackoverflow