Открытие ссылок с анкором. Хедер перекрывает контент
Есть одностраничный сайт на бутстрап с фиксированным навбаром - 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, время: 20:22. |