Добавьте смещение к этой точной JS плавной прокрутке к коду элемента - PullRequest
0 голосов
/ 08 июля 2019

Мне нужна плавная прокрутка js к коду элемента, чтобы смещение в 100 пикселей соответствовало панели навигации.Другие вопросы на этом сайте не работают для этого точного кода.Это код:

function scrollAnchors(t, e = null) {
    function n(t) {
        return Math.floor(t.getBoundingClientRect().top)
    }
    t.preventDefault();
    var o = e ? e.getAttribute("href") : this.getAttribute("href"),
        r = document.querySelector(o);
    if (r) {
        var a = n(r);
        window.scrollBy({
            top: a,
            left: 0,
            behavior: "smooth"
        });
        var i = setInterval(function () {
            var t = window.innerHeight + window.pageYOffset >= document.body.offsetHeight - 2;
            (0 === n(r) || t) && (r.tabIndex = "-1", r.focus(), "history" in window ? window.history.pushState("", "", o) : window.location = o, clearInterval(i))
        }, 100)
    }
}
document.addEventListener("click", function (t) {
    "A" === t.target.tagName && (!t.target.href || -1 == t.target.href.indexOf("#") || t.target.pathname != location.pathname && "/" + t.target.pathname != location.pathname || t.target.search != location.search || scrollAnchors(t, t.target))
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...