动态固定导航栏位置

时间:2014-03-27 12:19:33

标签: javascript jquery css

我的页面侧面有一个导航栏,我希望它在某个时刻将其位置从fixed更改为absolute。我基本上试图让它显示为当用户滚过它时它被我的页脚停止了。

我目前正在使用此代码,

$(window).scroll(function(){
    $("#myNavbar").css("top",Math.min( 562 , 1020 - $(this).scrollTop() ) );
});

这在滚动顶部定义的其中一个页面上效果很好。不幸的是,我需要在不同高度的12页上重复这种行为。

我如何处理此问题,计算百分比?任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您要做的是获取页脚的scrollTop()位置。从那里,您可以比较导航栏的scrollTop()(+ nab栏height())以及导航scrollTop() + height()>页脚scrollTop(),您更改导航栏addClass('not-sticky')的类。 .not-sticky{position:absolute}。希望这有帮助