如何让侧边栏停止在页面底部滚动

时间:2014-07-22 16:32:09

标签: javascript jquery html css

我的页面上有一个滚动的侧边栏,滚动到视图当前正在查看的页面上的任何位置。我试过谷歌搜索和搜索Stack Overflow,没有运气我的情况。我尝试过其他代码来获得相同的结果,但其他代码似乎打破了页面。

问题在于,当观看者到达我的页脚时,侧边栏仍然可以滚动到最后一个元素(div标签)并向下推动我的页脚几乎延长了页面的长度,没有内容,只有页脚。我需要让侧边栏在页面上到达或查看最终元素(div id)时停止滚动。

以下是代码:

$(function() {

    var $sidebar   = $(".sidebar"), 
        $window    = $(window),
        offset     = $sidebar.offset(),
        topPadding = 15;

    $window.scroll(function() {
        if ($window.scrollTop() > offset.top) {
            $sidebar.stop().animate({
                marginTop: $window.scrollTop() - offset.top + topPadding
            });
        } else {
            $sidebar.stop().animate({
                marginTop: 0
            });
        }
    });

});

最后一个元素ID为#return,页脚的ID为#footer,侧边栏的类别为.sidebar。我不认为侧边栏的CSS是问题,但如果你需要看到我可以提供它。

0 个答案:

没有答案