1

假设我有一个名为index.html. 在文档中,我有一个指向另一个页面中的锚点的链接。所以让我们说:

<a href="page.html#anchor" class="scroll">Link</a>

现在我有以下 jQuery 脚本来滚动动画到同一文档内的锚点:

$(".scroll").click(function(event){     
    event.preventDefault();
    $('html,body').animate({scrollTop:$(this.hash).offset().top}, 500);
});

但是,如果锚点位于同一页面中,则此方法有效。我怎样才能让它在另一个页面上工作呢?当我单击链接时,我希望它转到另一个页面并滚动到锚点。

4

1 回答 1

3

你需要把你的锚定在类似的东西上

<a href="2nd.html#anchor_temp">Go</a>

因为你无法阻止浏览器的默认滚动行为

文档准备好后,您需要从 URL 中查看哈希标记值,然后删除 _temp 并对其进行动画处理

$(document).ready(function(e){  
    var str= location.hash; 
    var n=str.replace("_temp","");
    $('html,body').animate({scrollTop:$(n).offset().top}, 500);
});

我希望这个能帮上忙 :)

于 2013-02-07T02:53:56.200 回答