【问题标题】:Allow a URL with a hash to open a tab, but prevent scrolling to it?允许带有哈希的 URL 打开选项卡,但阻止滚动到它?
【发布时间】:2012-12-06 05:39:09
【问题描述】:

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

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

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

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

可能吗?

【问题讨论】:

    标签: jquery url hash


    【解决方案1】:

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

    //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);
    

    【讨论】:

      【解决方案2】:

      这可能是一个解决方案。

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

      Source

      【讨论】:

      • 我似乎无法让它工作。将该代码添加到我的 jQuery 脚本文件的末尾 - 甚至添加到 HTML 页面的末尾 - 没有任何效果。
      猜你喜欢
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      • 2011-12-20
      • 2023-02-26
      • 2017-10-02
      • 1970-01-01
      • 2015-07-12
      • 2016-07-26
      相关资源
      最近更新 更多