带骨干的页内锚点

时间:2014-06-11 09:13:02

标签: backbone.js backbone-routing

大家好,

我正在开发一个骨干应用程序,我经历了一个"大"问题,我无法在互联网上找到任何有用的想法,但我无法想象我是唯一一个遇到这个问题的人。

我只想使用基本的页内锚点和骨干一样旧时间。

示例:当我在URL末尾有#section时,我希望我的页面转到某个部分。 我的骨干网址是site.com/#/page ....所以当然site.com/#/page#section会吓坏。

我找到的唯一解决方案是使用推送状态,但我并不是真的想要。

还有另一种方法来处理这种行为吗?即使是另一种模式或插件......但没有推送状态。

非常感谢,

jdmry

1 个答案:

答案 0 :(得分:0)

以下是我的表现:

首先,添加Backbone.history.anchor

pathParts = Backbone.history.fragment.split('#')
Backbone.history.anchor = pathParts[1]

然后,使用jQuery滚动到元素

if (Backbone.history.anchor) {
  $('html, body').animate({
    scrollTop: $('#' + Backbone.history.anchor).offset().top - 10
  });
}