因此,当使用initialIndex(指定要加载的选项卡)和历史插件时,Tabs 1.2.6似乎有一个错误。所以:
$("ul#tabs").tabs("div.panes > div", {
effect: 'fade',
initialIndex: 3
});
完美运作并打开第四个标签.....但是,如果我包括这个:
$("ul#tabs").tabs("div.panes > div", {
effect: 'fade',
initialIndex: 3,
history: true
});
单击第四个选项卡,然后立即启用第一个选项卡...
有没有人遇到这个bug呢?如果是这样,任何帮助将不胜感激!
更新:
这是一个小提琴:
使用initialIndex http://jsfiddle.net/xAmqj/1/
不使用历史记录(可能是小提琴也限制在他们的应用程序中使用哈希) http://jsfiddle.net/xAmqj/5/
另一个更新(2011年11月11日): 我找到的最简单的解决方案是保留历史记录选项,并取出initialIndex选项。然后在运行制表符脚本之前,将其作为页面上的第一个脚本放置:
window.location.hash = 'yourhashtag';
历史将负责其余部分,并将参与该选项卡。不想在历史中添加一大堆其他代码。懒惰......我知道..但它确实有效。
答案 0 :(得分:1)
嗯,实际上“历史”像“initialIndex”一样工作,它需要“hash”并将其设置为制表符的initialIndex,所以它不是一个bug,它只是你不能同时使用它们。
如果你看一下JQuery工具文档演示,你可以看到你可以让任何标签开始使用hash标签“like”:
http://flowplayer.org/tools/demos/tabs/history.htm#streaming_tab
你可以看到initialIndex是第三个标签,但没有使用“initialIndex”,只是使用哈希。
你的代码问题是标签工具读取initialIndex并选择第4个标签,然后返回“历史”索引,没有哈希意味着第一个标签,这就是它。
为了确保这一点,将哈希href放在第二个选项卡上,例如href="#sec_tab"
,然后在页面末尾添加此哈希“#sec_tab”,您将看到第4个选项卡将显示(单击)然后这次不会先移动到第二个标签。