JQuery UI选项卡:如何直接从另一个页面导航到选项卡?

时间:2010-03-31 17:06:26

标签: javascript jquery jquery-ui jquery-ui-tabs

JQuery UI选项卡由无序列表中的命名锚实现。当您将鼠标悬停在其中一个标签上时,您可以在浏览器底部显示的链接中看到此信息:

http://mysite/product/3/#orders

以上将是“订单”标签。 JQuery显然拦截了对此锚点的单击并改为打开选项卡。

但是,如果我将上面的链接加入书签或从网站的其他位置链接到该链接,则该页面不会在特定选项卡上打开。

在选项卡初始化块中,我正在考虑放入一些代码,在URL中查找命名锚点,如果找到一个,则对选项卡进行索引查找并调用其上的选择。这意味着它仍然可以与JS关闭。

但是有更简单/更好/更好的方法吗?

4 个答案:

答案 0 :(得分:9)

找到此示例here

if(document.location.hash!='') {
    //get the index from URL hash
    tabSelect = document.location.hash.substr(1,document.location.hash.length);
    $("#my-tabs").tabs('select',tabSelect-1);
}

答案 1 :(得分:5)

从版本1.8开始,jQuery UI支持此功能。见这里的例子:

  1. Second tab active by default
  2. Third tab active by default

答案 2 :(得分:3)

在1.8之前的jQuery UI版本(不包括在内)中,这几乎就是你必须要做的事情。标签扩展(AFAIK)不知道根据初始化的锚点(当页面加载时)进行切换,因此您必须手动执行该操作(当然,在就绪事件中)。

正如another answer所示,jQuery UI 1.8 supports bookmarking out of the box中的新版本标签。

答案 3 :(得分:0)

我使用Session插件在自定义选项卡类

中完成此操作