允许带有哈希的URL打开选项卡,但阻止滚动到它?

时间:2012-12-05 21:32:56

标签: jquery url hash

我有一个jQuery选项卡元素,其中每个选项卡都会向URL添加一个哈希值,如下所示:

www.mysite.com/services#one
www.mysite.com/services#two
www.mysite.com/services#three

我想阻止滚动到该元素(选项卡)的默认浏览器行为,我可以使用preventDefault。

但我还希望保持链接到已打开特定选项卡的页面的能力。因此,如果我访问www.mysite.com/services#three,它应该带我到第三个标签打开的那个页面,但它不应该滚动到页面中的那个位置。

可能的?

2 个答案:

答案 0 :(得分:0)

不完全可能,但您可以根据片段加载页面后打开选项卡:

//bind click events above

//assumes that ID of tab is the same as the fragment
$(window.location.hash).click();

//scroll to the top, if you really want/need to:
$(window).scrollTop(0);

答案 1 :(得分:0)

解决方法可能是。

$(document).ready(function() {
  $.scrollTo('0px');
});

Source