javascript - How do i detect when a user is at the top of the webpage

前端 未结 3 1813
遇见更好的自我
遇见更好的自我 2021-01-23 08:02

I\'m pretty much completely new to javascript, and I know there\'s already a similar question to this on here, but i would like the script as in.

if (user is at top of

相关标签:
3条回答
  • 2021-01-23 08:28

    I'm using a function to make it cross-browser compatible that can be found here: Cross-browser method for detecting the scrollTop of the browser window

    function getScrollTop(){
        if(typeof pageYOffset!= 'undefined'){
            //most browsers
            return pageYOffset;
        }
        else{
            var B= document.body; //IE 'quirks'
            var D= document.documentElement; //IE with doctype
            D= (D.clientHeight)? D: B;
            return D.scrollTop;
        }
    }
    
    if(!getScrollTop()){
       // user is at the top
    }
    

    Here is a little demo: http://jsfiddle.net/uDS4n/1/

    0 讨论(0)
  • 2021-01-23 08:38

    This is a little snippet I use to determine the scrolltop of a page, I can't remember where I got it, or whether I wrote it myself so can't credit it.

    var st=0;
    if(typeof pageYOffset!= 'undefined'){
        //most browsers
        st = pageYOffset;
    } else {
        var B = document.body; //IE 'quirks'
        var D = document.documentElement; //IE with doctype
        D = (D.clientHeight)? D: B;
        st = D.scrollTop;
    }
    

    if st==0 then the user is at the top of the page!

    0 讨论(0)
  • 2021-01-23 08:49

    Here's a clean solution that should make sense if you're new to JS:

    //call your function on scroll
    window.onscroll = myScrollFunction;
    
    function myScrollFunction(){
      if(getYOffset() == 0){
        //if at top, do this
        alert('bingo');
    
      }
    };
    //helper function (since ie handles scrolling different than firefox)
    function getYOffset() {
        var pageY;
        if(typeof(window.pageYOffset)=='number') {
           pageY=window.pageYOffset;
        }
        else {
           pageY=document.documentElement.scrollTop;
        }
        return pageY;
    }
    
    0 讨论(0)
提交回复
热议问题