У меня проблема с плавной прокруткой для тегов привязки на sidenav.Я использую bootsrap scrollspy с аффиксом.Заголовок является фиксированной позицией, поэтому, когда мы нажимаем на привязку бокового меню, он перемещается к определенному идентификатору.Проблема в том, что при прокрутке до идентификатора заголовок перекрывает содержимое, поэтому я добавляю некоторое смещение для прокрутки, но анимация не плавная, она мигает при каждом щелчке.Как я могу предотвратить мерцание и отрисовать анимацию плавно.(Для просмотра script / HTMl / CSS, пожалуйста, используйте источник просмотра)
Обновление: как я заметил, эта проблема возникает, когда мы отображаем #ID в URL.Любая идея, как мы можем сделать это гладким?
Вот ссылка с хешем, добавленная в URL: http://103.50.162.107/~chaitol4/test/nohash/expertise.html
URL без хеша: http://103.50.162.107/~chaitol4/test/hash/expertise.html
Обратите внимание наанимация при нажатии на элементы в sidenav
Мой JS:
$(".smooth-scroll").click(function() {
var headerHeight = 60;
$('html, body').stop(true, true).animate({
scrollTop: $(this.hash).offset().top - headerHeight
}, 750);
return false;
});
Обновленный скрипт:
$(document).ready(function() {
$(".smooth-scroll").on('click', function(event) {
var hash = this.hash;
$('html, body').animate({
scrollTop: $(hash).offset().top - 60
}, 800, function(){
window.location.hash = hash;
event.preventDefault();
});
event.preventDefault();
});
Это вычисляет неверное смещение верхней части (идет под меню)