Javascript 在不更改地址栏的情况下跳入内部链接?
通常人们要求在不刷新的情况下更改地址栏,我想要相反的结果:我想要跳转到页面中的锚,例如Javascript 在不更改地址栏的情况下跳入内部链接?,javascript,html,Javascript,Html,通常人们要求在不刷新的情况下更改地址栏,我想要相反的结果:我想要跳转到页面中的锚,例如 <a name="foo"> 然后实现与用户按相同的功能 <a href="#foo"> 不改变地址栏。这纯粹是装饰性的,但这意味着像“完成后再次设置window.location”这样的建议不会有帮助,因为中间的更改仍然会很明显(地址栏会闪烁,这正是我试图避免的)。看一看,jquery ScrollTo插件,看一看,jquery ScrollTo插件,这里有DOM函数。出
<a name="foo">
然后实现与用户按相同的功能
<a href="#foo">
不改变地址栏。这纯粹是装饰性的,但这意味着像“完成后再次设置window.location”这样的建议不会有帮助,因为中间的更改仍然会很明显(地址栏会闪烁,这正是我试图避免的)。看一看,jquery ScrollTo插件,看一看,jquery ScrollTo插件,这里有DOM函数。出于您的目的,这将像这样工作:
var target = document.getElementById('foo');
target.scrollIntoView();
您还应删除
链接,并将其替换为具有id的任何元素。例如:
<h1><a name="heading"></a>Heading</h1>
<h1 id="heading">Heading</h1>
标题
标题
有DOM函数。出于您的目的,这将像这样工作:
var target = document.getElementById('foo');
target.scrollIntoView();
您还应删除
链接,并将其替换为具有id的任何元素。例如:
<h1><a name="heading"></a>Heading</h1>
<h1 id="heading">Heading</h1>
标题
标题
为什么?这会影响链接到页面各部分的能力。我一直都这样做(包括在这个网站上)。为什么?这会影响链接到页面各部分的能力。我一直都这样做(包括在这个网站上)是一行代码,不需要几个1000行长的库,更不用说额外的插件了。。。无论如何,如果我使用jQuery,它可能是一种更好的方法(不是在这种情况下,可能是因为插件的缘故)。请,document.getElementById(“id”).scrollIntoView()
是一行代码,不需要几个1000行长的库,更不用说额外的插件了。。。无论如何,如果我使用jQuery,它可能是一种更好的方法(不是在这种情况下,可能是因为插件的缘故)。