Jas*_*son 4 javascript jquery jquery-ui jquery-ui-tabs
嘿大家.我看到另一篇关于使用特定jQuery UI选项卡的帖子,一次打开所有选项卡内容.这或多或少是"全部显示"标签.它似乎对我不起作用.无论如何,我的页面结构如下所示:
<div id="tabs">
<ul class="tabs-1">
<li><a href="#tabs-1"> Some Tab </li>
<li><a href="#tabs-2"> Some Tab </li>
<li><a href="#tabs-3"> Some Tab </li>
<li><a href="#"> Show All </li>
</ul>
<fieldset id="tabs-1"> Content </fieldset>
<fieldset id="tabs-2"> Content </fieldset>
<fieldset id="tabs-3"> Content </fieldset>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我使用的JavaScript,基于前面的示例:
var user_tabs = $("#tabs").tabs({
select: function(event, ui) {
if (ui.index == 3) {
$("fieldset[id^=tabs-]").show();
} else {
$("fieldset[id^=tabs-]").hide();
$(ui.panel).show()
}
}
});
Run Code Online (Sandbox Code Playgroud)
我使用的选项卡已正确初始化,但"show all tab"根本不起作用
有任何想法吗?
首先,修复选项卡中的html代码.您错过了</a>所有链接.
然后将您的上一个标签更改为:
<li><a href="#tabs-4"> Show All </a></li>
Run Code Online (Sandbox Code Playgroud)
添加另一个面板(可以为空):
<fieldset id="tabs-4"></fieldset>
Run Code Online (Sandbox Code Playgroud)
并将您的JavaScript更改为:
var user_tabs = $("#tabs").tabs({
show: function(event, ui) {
if (ui.index == 3) {
$("fieldset[id^='tabs-']").removeClass('ui-tabs-hide');
$("fieldset[id='tabs-4']").addClass('ui-tabs-hide');
}
}
});
Run Code Online (Sandbox Code Playgroud)
(注意从改变select到show)
示例:http://jsfiddle.net/niklasvh/km7Le/