我有两个事件需要按此顺序执行:
选项卡切换到/不在视图中
浏览器像往常一样导航到哈希标记(将页面向下跳转到锚点)
我需要它与后退按钮一起使用。
我编写了自己的函数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个问题:
更新按地址被
location.href
视为外部更改,并执行代码以响应它。我不能只让地址管理历史记录,因为它不会向下滚动页面到哈希所在的位置。address 也想自己更新哈希。API 相当广泛,我有理由相信有办法告诉它不要这样做,但文档可能需要一些工作。
它正在将#/#hash 添加到我的URL,我宁愿它只是#hash
谢谢!