我有几行基本上检测 anchor 链接并滚动到它们的 jQuery:
jQuery('a[href*=\\#]').on('click', function(event){
event.preventDefault();
jQuery('html,body').animate({scrollTop:jQuery(this.hash).offset().top - 100}, 500);
});
问题是,当我有指向不同页面的出站 anchor 链接时,它们甚至不再工作,因为这段代码。所以基本上我想改变这个代码,所以它只触发相同的页面 anchor 链接(而不是出站 anchor 链接)。我假设它在 a[href*=\\#]
中的某处,但不太确定。
所以本质上,如果 href
以 #
开头,这意味着它在同一页面上,否则不要使用此代码块。
有什么办法吗?
最佳答案
您可以使用 start-with为此目的选择器
jQuery('a[href^=\\#]').on('click', function(event){
event.preventDefault();
jQuery('html,body').animate({scrollTop:jQuery(this.hash).offset().top - 100}, 500);
});
关于javascript - jQuery滚动到同一页面上的 anchor 功能,但直接转到不同页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45515730/