1

我有两个事件需要按此顺序执行:

  1. 选项卡切换到/不在视图中

  2. 浏览器像往常一样导航到哈希标记(将页面向下跳转到锚点)

我需要它与后退按钮一起使用。

我编写了自己的函数gotoanchor()来完成前两个函数,并且因为我正在使用location.href移动导航到页面,所以浏览器会将其添加到浏览器历史记录中。

我需要 jQuery 来拦截后退/前进按钮,并让我在滚动页面之前隐藏/显示选项卡。

我发现的最有希望的插件是jQuery Address

这是我的代码:

 $("a[href^=#]").click(function(){
        gotoanchor(this.hash);
        return false;
});

$.address.externalChange(function(event) {
    // do something depending on the event.value property, e.g.
    gotoanchor(event.value);
});

我有3个问题:

  1. 更新按地址被location.href视为外部更改,并执行代码以响应它。我不能只让地址管理历史记录,因为它不会向下滚动页面到哈希所在的位置。

  2. address 也想自己更新哈希。API 相当广泛,我有理由相信有办法告诉它不要这样做,但文档可能需要一些工作。

  3. 它正在将#/#hash 添加到我的URL,我宁愿它只是#hash

谢谢!

4

0 回答 0