2014-09-01 35 views
0

我有一個粘性菜單,當用戶從視圖頂部向下滾動500px時出現。我希望在用戶從底部滾動到500px時隱藏它。粘性滾動菜單隱藏時offset()。bottom - 500

在此先感謝。

var stickTop = $('.sidebar-stick').offset().top + 500; 
$(window).scroll(function(){ 
    if($(window).scrollTop() > stickTop) { 
     $('.sidebar-stick').css({opacity: '1'}); 
     $('.stick-dummy').css('display', 'block'); 
    } else { 
     $('.sidebar-stick').css({opacity: '0'}); 
     $('.stick-dummy').css('display', 'none'); 
    } 
}); 

回答

1

一個解決辦法是計算從頂部和底部(不僅頂部)這兩個限制,然後添加底部限制條件:

var stickTop = $('.sidebar-stick').offset().top + 500; 
var stickBottom = $(document).height() - 500; 

$(window).scroll(function(){ 
    if($(window).scrollTop() > stickTop && $(window).scrollTop() < stickBottom) { 
     $('.sidebar-stick').css({opacity: '1'}); 
     $('.stick-dummy').css('display', 'block'); 
    } else { 
     $('.sidebar-stick').css({opacity: '0'}); 
     $('.stick-dummy').css('display', 'none'); 
    } 
}); 

根據您想要的效果創建,你可能也想考慮窗口高度。