Javascript 使用粘性导航栏滚动至div

Javascript 使用粘性导航栏滚动至div,javascript,html,css,Javascript,Html,Css,页面上有一个粘性导航条,它一直在屏幕上。 当我滚动到页面的下一部分div时,它会滚动,使div从屏幕顶部开始,因此导航栏会稍微覆盖它 如何从y滚动位置减去导航栏高度 $('html, body').animate({ scrollTop: $("#section2").offset().top // minus the nav height }, 1000); 另外-如何使用良好的实践使css中的javascript可以使用此导航栏高度?全局变量?了解任何元素的高度: 转到In

页面上有一个粘性导航条,它一直在屏幕上。 当我滚动到页面的下一部分div时,它会滚动,使div从屏幕顶部开始,因此导航栏会稍微覆盖它

如何从y滚动位置减去导航栏高度

    $('html, body').animate({
    scrollTop: $("#section2").offset().top // minus the nav height
}, 1000);

另外-如何使用良好的实践使css中的javascript可以使用此导航栏高度?全局变量?

了解任何元素的高度:

转到Inspector Ctrl+Shift+i,选择“导航”元素,然后在右侧单击长方体模型。这将为您提供所选元素的高度和宽度

在JavaScript中,要获取高度:

$("nav").height();

要知道任何元素的高度:

转到Inspector Ctrl+Shift+i,选择“导航”元素,然后在右侧单击长方体模型。这将为您提供所选元素的高度和宽度

在JavaScript中,要获取高度:

$("nav").height();

您可以在此处选择导航栏我给了导航栏id nav,并通过以下操作获得其高度:

$("#nav").height();
然后可以从scrollTop属性中减去该值

但是,请注意,如果导航栏有填充和/或边距,要正确计算高度,您需要使用与.height不同的方法。如果您遇到困难,请查看答案

请参见下面的工作示例:

$'html,body'。设置动画{ scrollTop:$section2.offset.top-$nav.height//减去导航高度 }, 1000; 身体{ 保证金:0; } 导航{ 背景:黑色; 高度:10vh; 宽度:100%; 位置:固定; } 部分{ 高度:100vh; } 第一节{ 背景:红色; } 第2节{ 背景:石灰; } 顶部
顶部你可以在这里选择你的导航栏我给了我的导航栏id nav,并通过以下操作获得其高度:

$("#nav").height();
然后可以从scrollTop属性中减去该值

但是,请注意,如果导航栏有填充和/或边距,要正确计算高度,您需要使用与.height不同的方法。如果您遇到困难,请查看答案

请参见下面的工作示例:

$'html,body'。设置动画{ scrollTop:$section2.offset.top-$nav.height//减去导航高度 }, 1000; 身体{ 保证金:0; } 导航{ 背景:黑色; 高度:10vh; 宽度:100%; 位置:固定; } 部分{ 高度:100vh; } 第一节{ 背景:红色; } 第2节{ 背景:石灰; } 顶部
为什么$nav.attrheight未定义?因为我们没有在div上设置height属性,而是设置了div高度的样式,这可以通过以下方式获得:$height为什么$nav.attrheight未定义?因为我们没有在div上设置height属性,而是设置了div高度的样式,这可以通过高度得到