7

我正在开发一个 Web 应用程序,我正在使用 JQuery UI Tabs 插件来分离数据。
如果我将鼠标悬停在每个选项卡上,在屏幕的左下方我可以看到该选项卡的 URL(例如:testPage.com/#tab1 或 testPage.com/#tab2)

现在,如果我在 URL 栏中输入其中一个地址,我不会转到与 URL 中的哈希相关的选项卡,而是转到应用程序中的第一个选项卡。

我的问题是:我将如何将特定选项卡锚定到 URL?
因此,如果有人访问 testPage.com/#tab3,他们最终会出现在应用程序的选项卡 3 中。

我这样做也是因为我想使用 JQuery BBQ 插件来修改浏览器历史记录,所以我可以让用户在点击后退按钮时转到他们所在的最后一个选项卡。

示例:
http ://benalman.com/code/projects/jquery-bbq/examples/fragment-jquery-ui-tabs/

4

2 回答 2

4

我最终使用了 Asual 的 JQuery Address 插件。我做了以下事情:

    // For forward and back
    $.address.change(function(event){
        $("#main_tabs").tabs( "select" , window.location.hash );
    });

    // when the tab is selected update the url with the hash
    $("#main_tabs").bind("tabsselect", function(event, ui) { 
        window.location.hash = ui.tab.hash;
    });

希望这可以帮助某人!谢谢你。

于 2012-06-21T20:49:00.483 回答
2

您也可以通过以下方式尝试。我name在锚元素中有属性。此名称将添加为哈希 URL。

Javascript:

$( "#tabs" ).tabs({
    select: function(event, ui) {                   
        window.location.hash = ui.tab.hash;                     
    }
});

HTML:

<div id="tabs" > 
    <ul>
        <li><a name="Test1" href="Home/Test1"> Tab 1  </a></li>
        <li><a name="Test2" href="Home/Test2"> Tab 2  </a></li>
        <li><a name="Test3" href="Home/Test3"> Tab 3  </a></li>            
    </ul>        
</div>
于 2013-10-09T15:00:32.510 回答