Itachi261092
@Itachi261092
Веб-разработчик, писатель, геймер...

Как обработать высоту страницы при переходе на якори?

Здравствуйте. На сайте установлены якори и при переходе по ним из-за приклеенного вверху хедера страница смещается ниже якоря ровно на высоту этого хедера. для якорей на индексной странице я сделал плавную прокрутку.
$("a.slide_to_anchor").click(function () {
        var elementClick = $(this).attr("href")
        var destination = $(elementClick).offset().top - $("#undefined-sticky-wrapper").height(); // отнимаем высоту хедера
        jQuery("html:not(:animated),body:not(:animated)").animate({scrollTop: destination}, 1000); // плавная анимация
        return false;
    });

Но вот как теперь обработать якори на других страницах (переход например с главной в /news/) чтобы нормально отображалось?
  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.
Как вариант при загрузке страницы делать проверку на якорь в адресе и прокручивать выше на высоту хедера.
window.onload = function(){
    if(window.location.hash) {
      //если есть якорь, то скроллим вниз на высоту шапки
    } else {
      //здесь если нет, можно убрать блок else
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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