Плавный переход к section для одной ссылки в меню, как реализовать?

День добрый. Есть сайт echo-nvrsk.ru
В верхнем меню ссылка "Instagram" опускает к разделу инстаграма на главной странице.
Как сделать переход плавным я знаю, но нужно затрагивать весь блок (в данном случае это #top3) и тогда остальные ссылки перестают работать.
Можно вручную в коде прописать ссылку, сделав для неё отдельный блок и прописать его в скрипте - до этого я додумался.
А как-нибудь ещё можно обойти такой костыль? :)
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
anatoly_kulikov
@anatoly_kulikov
Помог ответ? Отметь решением!
Нужно чуть переработать скрипт. Если там используется jQuery, то вот так:
$(function(){
  $("a[data-jump^='#']").click(function(){
    var _href = $(this).attr("data-jump");
    $("html, body").animate({scrollTop: $(_href).offset().top+"px"});
    return false;
  });
});


В случае с чистым js’сом можно на ссылку навесить слушатель с таким событием:
// пусть item - это объект ссылки
item.addEventListener('click', () => {
   document.getElementById(blockId).scrollIntoView({
        block: "center",
        behavior: "smooth"
    });
})


Главное, что укажи ссылку на блок в дата-атрибуте, типа вот так: https://jsfiddle.net/anatolykulikov/Ld0p6tsr/20/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы