Jquery 如何更改锚点位置

Jquery 如何更改锚点位置,jquery,html,hyperlink,position,anchor,Jquery,Html,Hyperlink,Position,Anchor,我在我的网站上有很多锚,因为我使用jquery标签并链接到它们。但是,当我单击链接时,我想更改锚定在屏幕上的焦点位置。我真的不在乎它的焦点在哪里,只要它比现在高得多,而不是直接在锚的顶部。我需要做到这一点,而不使用会破坏网站其余部分的东西,因为锚周围都有内容 锚定位于此处(表1为锚定): 谢谢 试试这个: $(function () { $('a[href^="#"]').click(function(e){ e.preventDefault();

我在我的网站上有很多锚,因为我使用jquery标签并链接到它们。但是,当我单击链接时,我想更改锚定在屏幕上的焦点位置。我真的不在乎它的焦点在哪里,只要它比现在高得多,而不是直接在锚的顶部。我需要做到这一点,而不使用会破坏网站其余部分的东西,因为锚周围都有内容

锚定位于此处(表1为锚定):


谢谢

试试这个:

$(function () { 
    $('a[href^="#"]').click(function(e){        
        e.preventDefault();
        $('html,body').scrollTop($(this.hash).offset().top - 50);
    });
});
a[href^=“#”]
选择器将应用于所有具有
href
属性且以
开头的
a
标记

如果需要更改滚动条在锚点上方的距离,请修改末尾的
-50

如果您想进行奇妙的页面滑动,还可以在
动画中包装滚动条;)


但tab1不是锚,它是一个div。你说的“聚焦我的屏幕”是什么意思?您实际上是在谈论设置页面的滚动位置吗?(“焦点”是指哪个控件当前正在响应键盘输入。)当您单击链接时,它是否集中在屏幕上而不是选项卡内容上?不,问题是它正集中在它应该集中的位置-直接在选项卡内容的顶部。但如果可能的话,我希望它能聚焦得更高一点。我前面的问题(我已经解决:)实际上显示了代码的其余部分:
$(function () { 
    $('a[href^="#"]').click(function(e){        
        e.preventDefault();
        $('html,body').scrollTop($(this.hash).offset().top - 50);
    });
});
$('html,body').animate({scrollTop: ($(this.hash).offset().top - 50)}, 500);