2012-10-11 43 views
1

我想使用滾動功能,當有人滾動時會出現一個隱藏的「回到頂部」按鈕。使用點擊來取消功能?

$(window).scroll(function(){$("#top_btn").css("visibility", "visible");}); 

我也有自動滾動頁面到指定錨點的按鈕。 「返回頂部」按鈕就是其中之一。它將頁面滾動回頂部。點擊時我也會讓它消失,因爲一旦你在頁面的頂部,就不再需要它了。

問題是,滾動功能使「回到頂部」按鈕出現,即使它滾動到頂部。我想讓它消失,如果它被點擊,並保持隱藏狀態。

我想我的問題是我怎樣才能取消原來的滾動功能,點擊返回頂部按鈕?

有些人建議我使用scrollTop函數來隱藏「回到頂部」按鈕,但是有太多的跨瀏覽器問題。

基本上是有一些代碼來取消功能?

對不起,新手問題,但我是新來jquery。

+0

你可以使用'window.pageYOffset'來檢查你是否在頁面頂部,並添加它作爲你的滾動功能的條件? –

回答

1

我覺得像你想的香草JS scrollTop威力有跨瀏覽器的問題,但我認爲jQuery應該沒問題。如我錯了請糾正我。

$(window).scroll(function() { 
    if ($(window).scrollTop() === 0) { 
     $("#top_btn").css("visibility", "visible"); 
    } 
    else { 
     $("#top_btn").css("visibility", "hidden"); 
    } 
); 
+0

感謝mayhewr。有效! :^)我會「投票」,但我沒有代表。 –

+0

@ user1738825點擊我的答案左側的複選框,如果它的工作。這不需要代表! :) – mayhewr

3

下面是一些代碼,將盡快被點擊

var isScrollingToTop = false; 
$(window).scroll(function(){ 
    if(!isScrollingToTop && $(window).scrollTop()>0) 
     $('#scrollBtn').show(); 
    else 
     $('#scrollBtn').hide(); 
}); 
$('#scrollBtn').click(function(){ 
    isScrollingToTop = true; 
    $('body,html').animate({scrollTop: 0}, 800,function(){ 
     isScrollingToTop=false; 
    }); 
}); 

這裏隱藏按鈕例如的jsfiddle:http://jsfiddle.net/btesser/HXQX4/1/