我已经在网站上成功实现了平滑滚动。我的主页包含4个锚定链接(每个链接都有一个“平滑”类-此类的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");
}