Этот код отлично работает, если я хочу сделать эффект переключения, нажав на меню. Вы можете увидеть результат здесь.Скрипт Jquery для подменю, как я могу его исправить?
$(document).ready(function() {
var $menu2 = $("#menu-2");
var $links = $('#menu-menu-1 .menu-item a').click(function() {
var submenu = $(this).next();
$subs.not(submenu).hide();
var isVisible = submenu.stop(true, true).is(':visible');
$menu2.stop(true, true);
if (isVisible) {
submenu.hide(500);
$menu2.slideUp(300);
} else {
$menu2.slideUp(300, function() {
$menu2.slideDown(300);
submenu.show(500);
});
}
});
var $subs = $links.next();
});
Моя проблема .menu-элемент, с этим сценарий выполняет код для всех ссылок меню (также для ссылок, которые не имеют подменю ссылки). Но в моем случае я хочу выполнить только ссылки, содержащие ссылки подменю. Если я попытаюсь заменить t .menu-item a с .menu> ul li a не работает.
Структура HTML (генерируемой PHP) кода, как это:
<ul id="menu-menu-1">
<li class="menu">
<a>News</a> //first main menu
<ul class="sub-menu" style="display: none;"> //second grey menu
<li>
<a>Mondo</a>
<a>News Live</a>
<a>Quotidiani Cartacei</a>
</li>
</li>
</ul>
Соответствующий CSS:
.menu {
background-color: #F6F6EE;
border-radius: 1px;
height: 30px;
padding: 10px 10px 0 5px;
width: 100%;
}
.menu li a {
color: #716B6B;
display: block;
float: left;
font-size: 14px;
padding: 2px 17px;
text-decoration: none;
width: 100%;
}
#menu-2 {
background-color: #DCDCD5;
border-radius: 1px;
display: none;
height: 33px;
position: relative;
width: 100%;
z-index: -1;
}
Как я могу это исправить?
Можете ли вы опубликовать скрипку? – Poornima
самым быстрым способом является добавление класса в родительское подменю li hold – arclite