Открытие ссылок с анкором. Хедер перекрывает контент
Есть одностраничный сайт на бутстрап с фиксированным навбаром - https://entera.pro
Меню плавно скролится по странице к анкорам, установлен сдвиг при скролле на высоту хедера. Но если ссылку с анкором открывать не со страницы, а отдельно, тогда хедер перекрывает заголовок секции: https://entera.pro/#id-advantages Как сделать сдвиг для ссылок с анкором? Не ломая все остальное, потому что сдвиги уже есть для прокрутки из меню. Есть куча кривых вариантов с отрицательными отступами и фиксированным контентом, а нормальный способ не нашел. Чтобы ровно было и одинаково для всех открываемых ссылок с анкорами, откначинающихся с id- |
dmk,
jQuery(window).on('load', function() {
var hash = document.location.hash;
if(hash!=''){
jQuery("a[href='"+hash+"']").click();
}
});
|
Мне не нужен click(), у меня для скроллинга меню такая функция:
$( 'a.nav-link[href*="#id"]' ).click(function () {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
if (target.length) {
$('html, body').animate({
scrollTop: (target.offset().top - 50)
}, 1000, "easeInOutExpo");
return false;
}
}
});
Но при открытии прямой ссылки с анкором, заголовок секции оказывается под хедереом. Пробовал разные чудаковатые варианты вроде этого:
var hash = window.location.hash;
if( hash = '#id-advantages' ) {
jQuery( 'div#id-advantages' ).css({
'padding-top' : '400px'
});
};
Но отступ включается вообще всегда Или я неправильно понял вашу функцию? |
dmk,
событие 'load' происходит при загрузке всех ресурсов, это как раз для прямого перехода. добавить не пробовали? |
Цитата:
Цитата:
|
dmk,
код проверили из поста №2? |
Добавил, работает. Наверно раньше как-то криво добавлял, не работало. Только сейчас получается, что секция открывается закрытая хедером и через пару секунд заголовок выезжает из-под хедера. Можно отключить анимацию (если это она) для прямых переходов по анкору?
|
Цитата:
|
Цитата:
|
dmk,
без анимации
jQuery(window).on('load', function() {
var hash = document.location.hash;
if(hash!=''){
window.scrollBy(0,-50)
}
});
|
| Часовой пояс GMT +3, время: 13:38. |