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

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 page) { (execute this function) }

Thanks in advance



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!


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;
        var B= document.body; //IE 'quirks'
        var D= document.documentElement; //IE with doctype
        D= (D.clientHeight)? D: B;
        return D.scrollTop;

   // user is at the top

Here is a little demo:


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

//helper function (since ie handles scrolling different than firefox)
function getYOffset() {
    var pageY;
    if(typeof(window.pageYOffset)=='number') {
    else {
    return pageY;


Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.