通常人们要求更改地址栏而不刷新,我想要相反的:我想跳转到页面中的 anchor ,例如拥有
<a name="foo">
然后实现与用户按下
相同的功能<a href="#foo">
不改变地址栏。这纯粹是装饰性的,但这意味着“完成后再次设置 window.location”之类的建议不会有帮助,因为中间的更改仍然是明显的(地址栏会闪烁,这正是我想要的)避免)。
最佳答案
有DOM函数 element.scrollIntoView()
。出于您的目的,这将像这样工作:
var target = document.getElementById('foo');
target.scrollIntoView();
您还应该删除 <a name="foo">
链接,并将它们替换为任何带有 id 的元素。例如:
<h1><a name="heading"></a>Heading</h1>
<h1 id="heading">Heading</h1>
关于javascript - 不改变地址栏就跳转到内部链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10164411/