Показать сообщение отдельно
  #1 (permalink)  
Старый 03.12.2020, 17:49
Аспирант
Отправить личное сообщение для venom1996 Посмотреть профиль Найти все сообщения от venom1996
 
Регистрация: 10.11.2020
Сообщений: 69

плавная прокрутка
function GetURLParameter(sString, sParam) {
    if (sString.split("?")[1]) {
        var sURLVariables = sString.split("?")[1].split('&');
        for (var i = 0; i < sURLVariables.length; i++) {
            var sParameterName = sURLVariables[i].split('=');
            if (sParameterName[0] == sParam) {
                return sParameterName[1];
            }
        }
    }
}

 var URL = window.location.href;
if (GetURLParameter(URL, "id")) {
    setTimeout(function() {
        scrollToSection(GetURLParameter(URL, "id"), 0);
    }, 500);
}

//Прокрутка до блока при клике по выпадающему меню текущей страницы
$(document).on("click", ".header-nav__dropdown li a", function(e) {
    var dropdownParent = $(this).closest(".header-nav__list>ul>li");
    if (dropdownParent.hasClass("isActive")) {
        var linkHref = $(this).attr("href");
        if (GetURLParameter(linkHref, "id")) {
            e.preventDefault();
            scrollToSection(GetURLParameter(linkHref, "id"));
            $(this).closest(".header-nav__dropdown").hide({
                duration: 100,
                complete: function complete() {
                    $(this).removeAttr("style");
                }
            });
        }
    }
});

function scrollToSection(id) {
    var duration = arguments.length <= 1 || arguments[1] === undefined ? 800 : arguments[1];

    var delta = $(window).width() < 768 ? 0 : $(".header-nav").outerHeight();
    $("html,body").animate({
        scrollTop: $("#" + id).offset().top - delta
    }, duration);
}

не работает плавная прокрутка, после изменения ссылок, раньше было вот так
<li><a href="[[!getAliasRegion]]/[[~11]]?id=main_start">Наши достижения</a></li>
, сейчас изменил на
<li><a href="[[!getAliasRegion]]/[[~11]]#наши-достижения">Наши достижения</a></li>
, что мне поправить в функции что бы плавная прокрутка снова заработала ?
Ответить с цитированием