Javascript 当滚动到div顶部时,隐藏另一个div
这就是我到目前为止所做的:Javascript 当滚动到div顶部时,隐藏另一个div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,这就是我到目前为止所做的: $("#main").each(function() {this.scrollTop = this.scrollHeight; if ($(this).scrollTop()>0) { $('#navigation').addClass("nav-hide"); } else { $('#navigation').add
$("#main").each(function() {this.scrollTop = this.scrollHeight;
if ($(this).scrollTop()>0)
{
$('#navigation').addClass("nav-hide");
}
else
{
$('#navigation').addClass("nav-normal");
}
});
所以基本上,我想知道当你滚动到div的顶部时,它会隐藏导航栏。因此,您可以在没有导航栏的情况下阅读div。有什么想法吗?谢谢
这是我的JSFIDLE:窗口的$.scroll()
方法在窗口的滚动更改时执行。您可以使用它隐藏#导航
id选择器
$(window).scroll(function() {
if ($(this).scrollTop() > 100) {
$('#navigation').fadeIn();
} else {
$('#navigation').fadeOut();
}
});
JSFIDLE
有关.scroll()的详细信息,请参阅jQuery文档您需要使用jquery的窗口滚动功能,而不是每个功能,除非您需要在多个部分中隐藏导航。没有理由使用每个部分,我假设您不需要,因为您使用的是#main的id,并且id应该是唯一的。另外,您不需要添加多个类,只需添加类并删除类即可。因此,如果我正确地假设您不需要在页面上的多个实例中隐藏导航的多个部分,那么您的代码应该如下所示:
$(window).scroll(function() {
if ($(this).scrollTop() >= $('#main').offset().top) {
$('#navigation').addClass("nav-hide");
}else {
$('#navigation').removeClass("nav-hide");
}
});
您只需添加nav hide类,然后在向上滚动时将其删除
这是一把小提琴
如果你不告诉我,我想这就是你想要的,这样我就可以编辑我的答案。
函数scrollpos(){
if(window.scrollYnote)您正在使用:$(“#main”).each(function()…但是,由于您针对的是一个Id(假设您在该页上只有一个元素具有该Id),因此这将永远只能是一个实例。对于具有多个实例的元素(例如$(“.pageSection”)。each(function()…)我同意@Maxwell Lasky使用.scroll()的方法,我试图将数值设为.height()
,因此当滚动窗口文档时,标题下方的部分将隐藏导航。我对jQuery非常陌生。对不起,不,这不是我要找的。当滚动条位于标题下方时,是否要隐藏导航条?我已编辑了小提琴,请检查并告知我。