如果您不在页面顶部,我正在尝试更改导航栏。以下是有问题的JavaScript:
$('.myLinks a').click( function() {
let idLink = $(this).text().toLowerCase()
$('html, body').animate({
scrollTop: $(`#${idLink}`).offset().top-80
}, 800);
});
$(window).scroll(() => {
let value = $(this).scrollTop()
if (value > 80) {
$('.myNav').css({'opacity':'1', 'height':'60px'})
}
else $('.myNav').css({'opacity':'0.5', 'height':'80px'})
})
第一个功能是平滑滚动到与链接相关联的div。但是,当我单击其中一个链接时,滚动值将重置为0(导航栏将重置为它在页面顶部的显示方式),然后导航栏将更改为应该如何。导航栏只会瞬间变化,但它仍然很明显。
我该如何解决这个问题?我可以根据需要提供更多细节。
解决:正如@MichaelCoker在下面所建议的那样,事实证明我的链接正在重定向到"#"在滚动到它应该的位置之前,导致跳转到位置0。