У меня неприятные проблемы с навигацией, но я не могу заставить их работать. При наведении курсора на элементы <li>
в главном элементе div, в соответствии с поднавигатором, отображается.
Но он не будет оставаться в состоянии активного класса при наведении на них курсора. Когда выбран mainnav-li, subnav должен остаться. При выходе из субнава должен появиться начальный субнав.
Обратите внимание, что мы загружаем активный subnav после функции document.ready (определенной в другом PHP-включении).
Любая помощь высоко ценится здесь. Я заблудился: -)
Все основные элементы li-навигации находятся здесь:
<div id="navigation-main">
<div id="mainnav">
<div class="navigation-items">
<ul>
<li id="mainnav1" class="active"><a href="#" id="header">Button 1</a></li>
<li id="mainnav2"><a href="#">Button 2</a></li>
<li id="mainnav3"><a href="#">Button 3</a></li>
<li id="mainnav4"><a href="#">Button 4</a></li>
</ul>
</div>
</div>
</div>
Подразделения:
<div id="navigation-sub1" class="navigation-sub">navigation-sub 1 active</div>
<div id="navigation-sub2" class="navigation-sub">navigation-sub 2 active</div>
<div id="navigation-sub3" class="navigation-sub">navigation-sub 3 active</div>
<div id="navigation-sub4" class="navigation-sub">navigation-sub 4 active</div>
Вот мой код ...
$(document).ready(function() {
var activeId = $(".active").attr("id").replace("mainnav","");
$("#navigation-sub" + activeId).show();
$("#mainnav a").hover(function() {
//reset
$(".navigation-sub").hide();
$("#mainnav .active").removeClass("active");
//act
$(this).addClass("active")
var id = $(this).closest("li").attr("id").replace("mainnav","");
$("#navigation-sub" + id).show();
});
$("#mainnav").mouseout(function() {
$(".navigation-sub").hide();
$("#navigation-sub" + activeId).show();
});
});