3

看到这个页面:http: //goo.gl/X3tjr

当您单击帖子时,该帖子会以动画形式出现,并且 URL 哈希值会发生变化。问题是当返回时,我想要一个平滑的动画回到用户单击帖子时的相同位置。眼下,只是跳回原位,简直不好看。

我读了这个问题:Prevent browser from snapping to previous scroll position when push back button

但我的情况有点不同,因为页面实际上并没有重新加载(哈希只是消失了)。

是否有可能摆脱自动滚动?

4

1 回答 1

0

我推荐你 History.js: https ://github.com/browserstate/History.js/

无需重新加载即可轻松更改 url 和管理页面历史记录。

不幸的是,您无法捕获“返回”事件,因为它不存在,但您可以捕获statechange

// Bind to StateChange Event
History.Adapter.bind(window,'statechange',function(){ // Note: We are using statechange instead of popstate
    var State = History.getState(); // Note: We are using History.getState() instead of event.state
    History.log(State.data, State.title, State.url);
});

我通常做的是捕捉用户的点击,如果没有点击就触发了状态更改,我假设用户返回。

于 2013-01-20T17:08:18.353 回答