繁体   English   中英

javascript-如何检测用户何时位于网页顶部

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

我对javascript完全陌生,我知道这里已经存在与此类似的问题,但是我希望使用脚本。

如果(用户位于页面顶部){(执行此功能)}

提前致谢

这是我用来确定页面滚动条的一小段代码,我不记得我从哪里得到它,或者我是否自己写的所以不能相信它。

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;
}

如果st == 0,则用户位于页面顶部!

我正在使用一个使它与跨浏览器兼容的函数,可以在这里找到: 用于检测浏览器窗口的scrollTop的跨浏览器方法

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
}

这是一个小演示: http : //jsfiddle.net/uDS4n/1/

如果您是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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM