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