ナビゲーション メニュー項目と jQuery タブをリンクしようとしています。つまり、 と であると思われる 2 つのサブメニュー項目がcategory
ありitem
、ページには と の 2 つのタブがMy category
ありMy Items
ます。
これを使用してやろうとしていることは、サブメニューからMy category
リンクをクリックしたときにタブを開きたいcategory
、またはその逆です。My Item
また、サブメニューからリンクをクリックしたときにタブを開きたい、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;
});
これはJSフィドルです
何らかの方法で機能していることがわかりますが、完全ではありません。逆順も機能しません。逆順とは、タブのクリックに応じてサブメニュー項目を選択する必要があることを意味します。
アップデート -
上記のJSFiddleによると
サブメニューのカテゴリ タブからカテゴリ リンクをクリックすると、そのコンテンツがアイテム タブから表示されます。
サブメニュー アイテム タブからアイテム リンクをクリックすると、そのコンテンツがカテゴリ タブから開きます。
誰かが私を助けてくれることを願っています。
ありがとうございました。