簡體   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