Я успешно реализовал плавную прокрутку на моем сайте.Моя домашняя страница содержит 4 якорных ссылки (каждая с классом 'smooth' - с нулевым стилем CSS для этого класса).Однако моя страница политики конфиденциальности / cookie-файлов находится на отдельной html-странице.К сожалению, я не могу вернуться на домашнюю страницу, когда на странице конфиденциальности.Я получаю ошибку cannot read property of 'top' of undefined
.
Так что я хотел бы знать, как успешно поддерживать плавную прокрутку при переходе между страницами (ссылки привязки присутствуют только на главной странице).Я использую JQuery.Я очень ценю вашу помощь.
// Smooth scrolling
$('.smooth').click(function(e) {
e.preventDefault();
$('html, body').animate({
scrollTop: $(this.hash).offset().top
}, 500);
});
// Active link switching
$(window).scroll(function() {
var scrollbarLocation = $(this).scrollTop();
$('.nav__link').each(function() {
var sectionOffset = $(this.hash).offset().top - 80;
if (sectionOffset <= scrollbarLocation) {
$(".nav__link").removeClass('active');
$(this).addClass('active');
}
});
});
// Maintaining urls
function markLinkActive(event) {
event.preventDefault();
$("nav .active").removeClass("active");
this.classList.add("active");
window.location.href = this.getAttribute("href");
}