【发布时间】:2016-02-19 14:09:55
【问题描述】:
我正在尝试将导航菜单项和 jQuery 选项卡链接在一起。这意味着我有两个子菜单项,只是认为它们是category 和item,而且我的页面中有两个标签,它们是My category 和My Items。
我想用它做的是,当我从子菜单中单击链接category 时,我想打开My category 选项卡,反之亦然。当我从子菜单中单击链接item 时,我还想打开My Item 选项卡,反之亦然。
我尝试使用 jQuery 进行操作,但无法正常工作。
我的 HTML -
<ul id="new-menu">
<li class="dropdown-holder" id="">
<a>My Menu</a>
<div class="dropdown">
<div class="menu-container">
<div class="menu-link">
<a href="">my sub menu 1</a>
</div>
<div class="menu-link">
<a href="">my sub menu 2</a>
</div>
</div>
</div>
</li>
<li class="dropdown-holder" id="">
<a>Category & Item</a>
<div class="dropdown">
<div class="menu-container">
<div class="menu-link">
<a href="" id="cat_link">Category</a>
</div>
<div class="menu-link">
<a href="" id="item_link">Item</a>
</div>
</div>
</div>
</li>
</ul>
<div id="main">
<ul>
<li><a href="#tabs-1">Category</a></li>
<li><a href="#tabs-2">Item</a></li>
</ul>
<div id="tabs-1">
<p>On the Insert tab, the galleries include items that are designed to coordinate with the overall look of your document. You can use these galleries to insert tables, headers, footers, lists, cover pages, and other document building blocks. When you create pictures, charts, or diagrams, they also coordinate with your.</p>
</div>
<div id="tabs-2">
<p>On the Insert tab, the galleries include other document building blocks. When you create pictures, charts, or diagrams, they also coordinate with your.</p>
</div>
</div>
这是我的 jQuery:
function setCurrent(element) {
$('div').removeClass('current');
$(element).parent().addClass('current');
}
$('#cat_link').click(function() {
$('#tabs-1').hide();
$('#tabs-2').show();
setCurrent(this);
$('#ui-id-2').parent().removeClass('ui-tabs-active ui-state-active');
$('#ui-id-2').parent().addClass('ui-state-default ui-corner-top');
$('#ui-id-1').parent().removeClass('ui-state-default ui-corner-top');
$('#ui-id-1').parent().addClass('ui-tabs-active ui-state-active');
return false;
});
$('#item_link').click(function() {
$('#tabs-2').hide();
$('#tabs-1').show();
setCurrent(this);
$('#ui-id-1').parent().removeClass('ui-tabs-active ui-state-active');
$('#ui-id-1').parent().addClass('ui-state-default ui-corner-top');
$('#ui-id-2').parent().removeClass('ui-state-default ui-corner-top');
$('#ui-id-2').parent().addClass('ui-tabs-active ui-state-active');
return false;
});
您可以看到它以某种方式工作,但并不完美。逆序也不行。逆序意味着我需要根据标签的点击来选择子菜单项。
更新 -
根据上面的JSFiddle
如果我单击子菜单类别选项卡中的类别链接正在打开,但其内容从项目选项卡中显示。
如果我单击子菜单项选项卡中的项链接正在打开,但其内容来自类别选项卡。
希望有人能帮助我。
谢谢。
【问题讨论】:
-
@Skrivener 不,没有我预期的解决方案。
标签: javascript jquery html css jquery-ui