1

通常人们要求更改地址栏而不刷新,我想要相反:我想跳转到页面中的锚点,例如有

<a name="foo">

然后实现与用户按下相同的功能

<a href="#foo">

无需更改地址栏。这纯粹是装饰性的,但这意味着像“完成后再次设置 window.location”这样的建议将无济于事,因为中间更改仍然很明显(地址栏会闪烁,这正是我想要的避免)。

4

2 回答 2

5

有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>
于 2012-04-15T17:43:17.570 回答
1

看看,jquery ScrollTo 插件,http: //demos.flesler.com/jquery/scrollTo/

于 2012-04-15T17:38:01.860 回答