How to get the number of pixels a user has scrolled down the page?

49,004

Solution 1

You can do this using .scroll() and .scrollTop().

 $(window).scroll(function() {
     // use the value from $(window).scrollTop(); 
 });

See also this question.

Solution 2

In pure javascript you can simply do like that:

window.onscroll = function (e) {
    console.log(window.scrollY); // Value of scroll Y in px
};

More infos (The Mozilla Developer Network) :

Solution 3

This is what i used on my website... when anyone scrolls 620 pixels down the menu will pop up, I input the numbers manually. I'm still a noob at javascript but I hope this helps

    <script>
    $(document).ready(function(){
        $(window).scroll(function(){
            var scrollTop = 620;
            if($(window).scrollTop() >= scrollTop){
                $('.Nav').css({
                    position : 'fixed',
                    top : '0'
                });
            }
            if($(window).scrollTop() < scrollTop){
                $('.Nav').removeAttr('style');  
            }
        })
    })
    </script>

Solution 4

Yes. See scrollTop() in jQuery, which wraps the scrollTop DOM property.

Solution 5

You can use window.scrollX to detect how much pixels the user has scrolled right.
You can use window.scrollY to detect how much pixels the user has scrolled down.
You can use window.scrollTo(x, y); to set scroll pixels right (x) and down (y).


Example code:
var x = window.scrollX, y = window.scrollY;
window.scrollTo(0, 200);
Share:
49,004
gadlol
Author by

gadlol

Hello Programming

Updated on February 11, 2022

Comments

  • gadlol
    gadlol about 2 years

    Suppose we have a html page with large height.So there will be a vertical scrollbar.

    As the user scrolls down I want to know how much he has scrolled using javascript (jquery) I suppose... Is this possible?

  • jakecraige
    jakecraige almost 11 years
    While this works, it could be improved, no need for the second if statement, just use an else. Also just removing the 'style' attribute could be dangerous if there is something else inline styled, perhaps by another js function. I think a better practice would be to reverse the style you added in the initial if
  • Arjun
    Arjun almost 8 years
    I am surprised that no one upvoted this. +1 from me ;)
  • Post Self
    Post Self almost 6 years
    Do you need to unregister this somehow before exit as you do with removeEventListener?
  • Tony
    Tony over 3 years
    Wow!!! Mate you saved me in 2020!!! Thanks a lot!!!! You are a star!!