Javascript 从选项卡中删除平滑滚动

Javascript 从选项卡中删除平滑滚动,javascript,jquery,Javascript,Jquery,我有平滑滚动JS链接从菜单项到锚进一步向下的页面 问题是,由于我的页面上使用了选项卡(使用#tabname)进行导航,因此在使用它们时,它也会尝试滚动 我可以对JS做一个简单的更改来防止它在选项卡上工作吗 $(文档).ready(函数(){ //添加平滑滚动到所有链接 $(“a”)。在('click',函数(事件){ //在覆盖默认行为之前,请确保this.hash具有值 如果(this.hash!==“”){ //防止默认锚点单击行为 event.preventDefault(); //存储

我有平滑滚动JS链接从菜单项到锚进一步向下的页面

问题是,由于我的页面上使用了选项卡(使用#tabname)进行导航,因此在使用它们时,它也会尝试滚动

我可以对JS做一个简单的更改来防止它在选项卡上工作吗

$(文档).ready(函数(){
//添加平滑滚动到所有链接
$(“a”)。在('click',函数(事件){
//在覆盖默认行为之前,请确保this.hash具有值
如果(this.hash!==“”){
//防止默认锚点单击行为
event.preventDefault();
//存储散列
var hash=this.hash;
//使用jQuery的animate()方法添加平滑页面滚动
//可选数字(800)指定滚动到指定区域所需的毫秒数
$('html,body')。设置动画({
scrollTop:$(散列).offset().top
},800,函数(){
//完成滚动后,将哈希(#)添加到URL(默认单击行为)
window.location.hash=散列;
});
}//如果结束,则结束
});

});您可以为锚元素提供一种退出滚动行为的方法,例如使用
数据无滚动属性过滤锚:

<a href="#tab1" data-no-scroll>Tab1</a>

$("a").not("[data-no-scroll]").click(function() {
    ...
});

$(“a”)。不是(“[data no scroll]”)。单击(函数(){
...
});

更好地定位click元素-->
$(“a”)。on('click'