【发布时间】:2016-05-17 02:58:07
【问题描述】:
我试图有一个固定的垂直导航栏,但只有在用户向下滚动到它时。我已将其放置在标题下方 66px 处,一旦用户向下滚动到其 66px 边距并保持固定在屏幕上,我就需要抓住它,我已经接近但您可以看到它并不完美。 https://jsfiddle.net/1krd9zpc/7/
$(window).on('scroll', function() {
if($(window).scrollTop() > $('#navbox').offset().top){
$('#navbox').css({
'top': $(window).scrollTop() > 0 ? '0px' : '66px',
'position': 'fixed'
});
}
});
这段代码(由 Mathias W 改进)可以正常工作,当我们向上滚动时,它需要重置到之前的位置。
【问题讨论】:
-
“抓住我的导航栏”是什么意思?
-
似乎您需要在滚动时修复菜单,因此您需要为它使用固定位置..
-
我想你需要这个,对吧? stackoverflow.com/questions/14667829/…
-
抱歉,写的时候有点累,有点难以解释。是的,它很相似,但有点不同。导航的基础永远不会改变它的位置,只有当我们向下滚动来捕捉它时。它必须始终在该黑框下方 66 像素,但一旦从屏幕顶部滚动也被捕获 66 像素。
-
所以.. 只是想看看我是否理解... 红框应始终低于黑框或窗口顶部 66 像素,以较大者为准?
标签: javascript jquery html css