1

我目前正在使用带有 ajax 的 Jquery Tabs 来加载外部内容。(http://jqueryui.com/tabs/#ajax

我还有下面的代码来显示 URL 中显示的选项卡:

$(window).load(function () {
    $(function () {
        $("#tabs").tabs({
            show: function (event, ui) {
                window.location.hash = ui.panel.id;
            }
        });

    });
});

我想知道您是否能够更改链接的显示方式?现在默认显示“page.htm l#undefined”,标签1显示“page.htm l#ui-tabs-1”,标签2显示“page.htm l#ui-tabs-2”,等等......

有没有办法可以自定义名称?并在url中默认自动显示tab 1?

例如“page.html#account”

我似乎找不到正确的资源,或者我在错误的地方寻找......

4

2 回答 2

0

经过大量挖掘,事实证明它已经支持:http ://docs.jquery.com/UI/Tabs#Ajax_mode 只需将 title="" 添加到“a”标签...

于 2013-05-09T16:32:34.267 回答
0

只需更改您的 HTML:

<ul>
  <li><a href="accounts.html" data-hash="account">Nunc tincidunt</a></li>
  <li><a href="other.html" data-hash="other">Proin dolor</a></li>
</ul>

和你的 javascript:

activate: function(event,ui){
  window.location.hash = $(event.currentTarget).data('hash');
}

由于某种我不知道的原因,未检测到数据,请尝试:

window.location.hash = $(event.currentTarget).attr('data-hash');

您还可以使用load, 接收加载远程选项卡后执行的函数。activateis 接收选项卡转换动画完成后执行的函数。

于 2013-05-07T21:17:47.067 回答