私はアコーディオンメニューを持っています:
<ul id="menu">
<li>
<a href="#" class="highmenu">Menu1</a>
<ul class="sub">
<li class="submenulink">Menu1Link1</li>
<li class="submenulink">Menu1Link2</li>
</ul>
</li>
<li>
<a href="#" class="highmenu">Menu2</a>
<ul class="sub">
<li class="submenulink">Menu2Link1</li>
<li class="submenulink">Menu2Link2</li>
</ul>
</li>
</ul>
そして、これが私が使用しているjQueryスクリプトです:
$(document).ready(function() {
var pathname = window.location.pathname;
$("#menu ul").hide();
$("#menu a[href='" + pathname + "']").parents(".sub").show();
$("#menu li a").click(function() {
var checkElement = $(this).next();
if ((checkElement.is("ul")) && (checkElement.is(":visible"))) {
return false;
}
if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$("#menu ul:visible").slideUp("normal");
checkElement.slideDown("normal");
return false;
}
});
});
私が欲しいのは、特定のサブが開いているときは、対応するハイメニューがhighmenu active
クラスに設定され、サブが非表示になっているときは、アクティブなクラスが削除されることです。
どんな助けでも大歓迎です、ありがとう!