Navbar скрывает якоря

64
7

Я создаю приложение rails с Bootstrap, но верхний фиксированный навигатор скрывает содержимое, с которого я перехожу, через хеш-якорь, добавляемый к URL-адресу. В основном у меня такая же проблема, как и в этом сообщении. Исправлено положение navbar затеняет якоря, и я попытался исправить эту проблему с помощью приведенных ниже js-кодов, которые я нашел в github:

$(document).ready(function(){    
var shiftWindow = function() { scrollBy(0, -50) };
if (location.hash) shiftWindow();
window.addEventListener("hashchange", shiftWindow);
});

Он отлично работает, когда я нажимаю ссылку на странице, чтобы перейти к привязке, но не удается, когда я нажимаю ссылку на другой странице, пытаясь перенаправить на страницу с хешем в URL-адресе, например, с сайта http://mysite.com/ http://mysite.com/posts/1#comment-5.

Я не могу понять, что пойдет не так с вышеуказанным кодом js. Пожалуйста, помогите, спасибо!

спросил(а) 2021-01-19T13:22:56+03:00 6 месяцев, 1 неделя назад
1
1 ответ
-5

У меня была та же проблема, и я нашел, что самым простым решением было обернуть якорь в теге раздела, а затем изменить лист CSS для чтения:

section {
display: block;
padding-top: 40px;
}

Тогда вам не нужны js, и он будет работать, когда вы перейдете к этому идентификатору раздела с другой страницы.

ответил(а) 2021-01-19T13:22:56+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема