Javascript 我想让我的锚链在潜水前停下来

Javascript 我想让我的锚链在潜水前停下来,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个jquery脚本,它为我的锚链接添加了一个“放松”效果,唯一的问题是现在我有一个粘性导航,所以当导航滑动到DIV时,它会隐藏其中的一部分 有没有办法在导航开始前滑动导航 锚链缓解效应: $(function () { "use strict"; var $root = $('html, body'); $('a').click(function () { var href = $.attr(this, 'href'); $root.

我有一个jquery脚本,它为我的锚链接添加了一个“放松”效果,唯一的问题是现在我有一个粘性导航,所以当导航滑动到DIV时,它会隐藏其中的一部分

有没有办法在导航开始前滑动导航

锚链缓解效应:

$(function () {
    "use strict";
    var $root = $('html, body');
    $('a').click(function () {
        var href = $.attr(this, 'href');
        $root.animate({
            scrollTop: $(href).offset().top
        }, 500, function () {
            window.location.hash = href;
        });
        return false;
    });
});
HTML



谢谢。

需要从滚动计算中减去页眉的高度<代码>滚动顶部:$(href).offset().top-header.height()


注意:此处,“标题”指的是用作固定导航的任何html元素。

需要从滚动计算中减去标题的高度<代码>滚动顶部:$(href).offset().top-header.height()


注意:这里,“header”指的是用作固定导航的任何html元素。

我将使用此代码从顶部到所需部分(纯JavaScript)进行一次操作调用


我将使用此代码从顶部到所需部分(纯JavaScript)进行一次操作调用


你能展示你实现的HTML吗?我添加了我的HTML@elliotmc你能展示你实现的HTML吗?我添加了我的HTML@elliotmt jquery停止工作如果我添加了,我只是用HTML更新了我的问题以防万一。你是否用正确的jquery替换了“header”呢?你是否将nav或导航声明为变量?如果没有,它就不会那样工作。在这里工作:。如果我添加了jquery,jquery将停止工作。我只是用HTML更新了我的问题以防万一。您是否用正确的jquery替换了“header”?是否将nav或导航声明为变量?如果没有,它就不会那样工作。在这里工作:。
        <nav>
            <ul class="navigation">
                    <li><a href="#donate">How to donate</a></li>
                    <li><a href="#locations">Drop-off locations</a></li>
                    <li><a href="#party">Party details</a></li>
            </ul>
        </nav>
const scrollerBtn = document.getElementById('btn');
const sectionView= document.getElementById('section-view');
var headerHeight = document.getElementById('main-header').offsetHeight;

scrollerBtn.addEventListener('click', () => {

    // scroll to your element
    sectionView.scrollIntoView(true);

    // now calculate fixed header
    var scrolledY = window.scrollY;

    if (scrolledY) {
        window.scroll(0, (scrolledY - headerHeight));
    }
})