2015-12-01 71 views
0

我有一個返回頁首按鈕,顯示在我正在處理的網頁上。當你向下滾動,有時點擊時,它會跳到頂部,然後跳回到你在頁面上的位置,然後平滑地滾動到頂部。請記住,它不會一直這樣做。這只是一個滯後或毛刺問題,或者如果我的腳本中有一些錯誤?返回頁首按鈕問題(可能)?

$(function(){ 

    $(document).on('scroll', function(){ 

     if ($(window).scrollTop() > 615) { 
      $('.ion-android-arrow-dropup-circle').addClass('show'); 
     } else { 
      $('.ion-android-arrow-dropup-circle').removeClass('show'); 
     } 
    }); 

    $('.ion-android-arrow-dropup-circle').on('click', scrollToTop); 
}); 

function scrollToTop() { 
    verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0; 
    element = $('body'); 
    offset = element.offset(); 
    offsetTop = offset.top; 
    $('html, body').animate({scrollTop: offsetTop}, 500, 'linear'); 
}; 

已搜索40+個問題,找不到答案。只是這樣說,因爲如果你沒有找到一個人,他們總是說:「你應該先看看問。」我總是能看到它。

回答

1

回答我的問題

去這麼久,沒有回答,我已經離開了,並決定不擔心在那個時候這個問題。今天,我正在使用相同的jQuery腳本在不同的網站上工作,並遇到同樣的問題。我決定自己嘗試修復它,因爲我無法在這個問題上找到幫助。

解決方案很簡單!我不知道我第一次錯過了它。我所做的是把上面的代碼,並添加一個功能,它:

$('.ion-android-arrow-dropup-circle').click(function(event) { 
     event.preventDefault() 
    }); 

我忘記了所有關於需要刪除點擊它是跳躍到目的地的鏈接的默認操作。它現在工作非常順利,看起來很棒,就像我想要開始!

我完全更新,供大家參考腳本:

$(function(){ 
    $(document).on('scroll', function(){ 

    if ($(window).scrollTop() > 50) { 
     $('.ion-eject').addClass('show'); 
    } else { 
     $('.ion-eject').removeClass('show'); 
    } 
}); 

    $('.ion-eject').click(function(event) { 
      event.preventDefault() 
     }); 
    $('.ion-eject').on('click', scrollToTop); 
}); 

function scrollToTop() { 
    verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0; 
    element = $('body'); 
    offset = element.offset(); 
    offsetTop = offset.top; 
    $('html, body').animate({scrollTop: offsetTop}, 200, 'linear'); 
};