Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переход по внутренних метках (https://javascript.ru/forum/misc/54809-perekhod-po-vnutrennikh-metkakh.html)

TadeskiOne 01.04.2015 18:39

Некоректнный переход по внутренних метках
 
Доброго времени суток, форумчане! У меня возникла проблема, которую я решить сам не в состоянии, потому прошу вашей помощи: вёрстку делал при помощи относительного позиционирования, сайт выглядит отлично, при скроллинге хэдэр с менюшкой не прячутся за верхней границей экрана и всегда доступны, потом залил текст и поставил метки в нём, и всё бы хорошо, но при переходе на метку, эта самая метка прячется за хэдэром, т.е. становится под верхней границей экрана и хэдэр её прячет.
Подскажите пожалуйста как это можно исправить?

laimas 01.04.2015 21:02

Либо на CSS решать, либо при прокрутке страницы прокручивать ее на величину высоты шапки.

TadeskiOne 04.04.2015 11:05

Цитата:

Сообщение от laimas (Сообщение 364509)
при прокрутке страницы прокручивать ее на величину высоты шапки.

А как это реализовать? Если можно, киньте, пожалуйста, код

laimas 04.04.2015 12:25

Тут два случая могут быть, первый, это запрос страницы, url которой содержит hash, а второй случай, это щелчок по ссылке на странице, которая которая содержит hash. Для первого случая, при загшрузке страницы проверять наличие hash в url, и если есть, то смещение, типа такого (jQuery):
if(location.hash) {
    $(document).scrollTop($(location.hash).offset().top-высота шапки)
}

При переходе по якорю внутри страницы, нужно обрабатывать события ссылок имеющих hash, таким же образом, а можно и с анимацей.

TadeskiOne 04.04.2015 17:58

Спасибо за ответ, но есть что-нибудь попроще? Я пока только начал осваивать веб-программирование и с jquery пока ещё плохо знаком

laimas 04.04.2015 19:03

А что может быть проще, чем на "готовом"? Без jQuery написанного будет еще больше.


Часовой пояс GMT +3, время: 13:25.