alex-lenk
@alex-lenk
Разработчик сайтов

Как учесть определенную высоту блока при проктуртке?

Есть плавающий фиксированный блок с меню, он перекрывает блок, к которому была прокрутка:

https://codepen.io/alex-lenk/pen/wQKvWL

$(document).ready(function() {
  $("a").on("click", function(event) {
    event.preventDefault();

    var hash = this.hash;

    $("html, body").animate(
      {
        scrollTop: $(hash).offset().top
      },
      800
    );
  });
});


<nav>Navigation</nav>

<div id="element"><a href="#element">Link</a></div>


body {
  height: 1000px;
  padding-top: 200px;
}
nav {
  width: 100%;
  height: 80px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: green;
}



Элемент, к которому была прокрутка перекрывает блок с зеленным фоном. Как решить данный нюанс?
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
alex-lenk
@alex-lenk Автор вопроса
Разработчик сайтов
Нашел ответ:
$("body").on("click", '[href*="#"]', function(e) {
    var fixed_offset = 80;
    $("html,body")
      .stop()
      .animate(
        {
          scrollTop: $(this.hash).offset().top - fixed_offset
        },
        300
      );
    e.preventDefault();
  });
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы