Я создаю раскрывающийся список навигации для сенсорных устройств с помощью jQuery.Мне удалось скрыть раскрывающиеся списки при нажатии на заголовок пункта меню и при нажатии вне навигационной панели, однако я не могу скрыть раскрывающийся список при нажатии на заголовок другого элемента раскрывающегося меню.Оба остаются открытыми до тех пор, пока я не нажму за пределами панели навигации или снова не нажму названия пунктов меню.
Вот сценарий:
<script type="text/javascript">
$(document).ready(function(){
$(".toggle_container").addClass("hidden");
$("li#more").click(function(){
if ($(this).children("ul.toggle_container").hasClass("hidden"))
$("ul.toggle_container").toggleClass("hidden");
else{
$("ul.toggle_container").toggleClass("hidden");
}
return false;
})
$("li#search").click(function(){
if ($(this).children("div.toggle_container").hasClass("hidden"))
$("div.toggle_container").toggleClass("hidden");
else{
$("div.toggle_container").toggleClass("hidden");
}
return false;
});
$("li.trigger").click(function(){
$(this).toggleClass("clicked");
});
$(".toggle_container").click(function(e) {
e.stopPropagation();
});
$(document).click(function() {
$(".toggle_container").addClass("hidden");
$("li.trigger").removeClass("clicked");
});
});
</script>
А вот разметка:
<nav id="navbar">
<ul>
<li id="home"><a href="/mobile/index.html"> </a></li>
<li><a href="#">Item 1</a></li>
<li id="more" class="trigger"><a href="#">More</a>
<ul class="toggle_container">
<li><a href="#">subitem1</a></li>
<li><a href="#">subitem2</a></li>
<li><a href="#">subitem3</a></li>
<li><a href="#">subitem4</a></li>
<li><a href="#">subitem5</a></li>
<li><a href="#">subitem6</a></li>
</ul>
</li>
<li id="search" class="trigger"><a href="#"> </a>
<div id="nav-search-box" class="toggle_container">
<div class="search_box">
<form class="search_form" name=gs action="http://www.google.com">
<input id=q maxlength=256 title="Enter search query" alt=Query name=q>
<input type=hidden name=btnG id=gs value=Search class=bt>
<input type=hidden name=btnG.x value=0>
<input type=hidden name=btnG.y value=0>
<input type=hidden name=oe value=UTF-8>
<input type=hidden name=ie value=UTF-8>
<input type=hidden name=entqr value=3>
<input type=hidden name=ud value=1>
<input type=hidden name=sort value=date:D:L:d1>
<input type=hidden name=output value=xml_no_dtd>
<input type=hidden name=lr value=lang_en>
<input type=hidden name=client value=google>
<input type=hidden name=proxystylesheet value=google>
<input type=hidden name=x value=0>
<input type=hidden name=y value=0>
<input type=hidden name=proxyreload value=1>
<input type=hidden name=entsp value=0>
<input type=hidden name=site value=google>
</form>
</div>
</div>
</li>
</ul>
</nav>
Я также открыт для любых предложений о том, как улучшить сценарий.Спасибо за поиск.