固定在顶部侧边栏上可防止底部悬停

时间:2014-09-13 09:31:47

标签: jquery html scroll fixed

当滚动从顶部到达某个点时,我已经固定了侧边栏的位置。 但是当我到达页面底部时,我遇到了问题,侧边栏位于页脚(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();
    });

});

有人知道如何解决这个问题?

1 个答案:

答案 0 :(得分: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