2014-09-13 87 views
0

当滚动从顶部到达某个点时,我修复了侧边栏的位置。 但是,当我到达页面底部时,出现问题,侧边栏位于页脚(http://i.stack.imgur.com/ZwjDK.jpg)。 我需要将边栏从X固定到Y,当我到达Y时,她会继续滚动页面的其余部分,但我不知道如何才能做到这一点。固定在顶部侧栏上防止底部悬停

我想类似的东西,但它不工作:/

$(function() { 
    var NosSortiesTop = $('#NosSorties').offset().top - 50; 
    var StickyNosSorties = function(){ 
     var ScrollTop = $(window).scrollTop(); 
     var NosSortiesWidth = $('#NosSorties').width(); 
     var NosSortiesPadding = (NosSortiesWidth/100) * 4.4; 
     if (ScrollTop > NosSortiesTop) { 
      $('#NosSorties').css({ 'position': 'fixed', 'top':50 }); 
     } else { 
      $('#NosSorties').css({ 'position': 'relative', 'top':'inherit', 'width': NosSortiesWidth, 'padding-left': NosSortiesPadding, 'padding-right': NosSortiesPadding }); 
     } 
    }; 

    StickyNosSorties(); 
    $(window).scroll(function() { 
     StickyNosSorties(); 
    }); 

}); 

有人有一个想法,我怎么能解决呢?因为这个问题是有点难以理解

+0

一个的jsfiddle或演示网站会在这种情况下非常有用。 – DevlshOne 2014-09-13 09:40:32

+0

这是:) http://jsfiddle.net/qak2bjby/2/ – Alex 2014-09-13 10:10:46

回答

0

JQuery的followTo

var objWindow = this; 
$.fn.followTo = function (pos) { 
    var $this = this, 
     $window = $(objWindow); 

    $window.scroll(function(e){ 
     if ($window.scrollTop() > pos) { 
      $this.css({ 
       position: 'absolute', 
       top: pos 
      }); 
     } else { 
      $this.css({ 
       position: 'fixed', 
       top: 'auto' 
      }); 
     } 
    }); 
}; 

$.fn.followTo

相关问题