두 개의 드롭 다운이있는 탐색 모음이 있습니다 (중첩 된 ul처럼). 나는 부모가 클릭되었을 때 하위 그룹을 토글하려고합니다. 다른 부모가 클릭되면 하나의 하위 탐색을 숨 깁니다.이렇게하는 것이 가장 좋은 방법입니까?
<div id="nav-bar">
<a href="#">A link</a> |
<ul>
<li id="feedback">
<a href="javascript:void(0);">Feedback</a>
<ul class="subnav">
<li><a href="#">Give us feedback</a></li>
</ul>
</li>
</ul> |
<a href="#">Another link</a> |
<ul>
<li id="location">
<a href="javascript:void(0);">Pick your location</a>
<ul class="subnav">
<li><a href="#">Los Angeles</a></li>
<li><a href="#">New York</a></li>
</ul>
</li>
</ul>
</div>
그리고 코드 : 여기에 마크 업 아직
//hide the subnavs and give them a little down arrow
$('ul.subnav').hide().parent().append('<small>▼</small>');
// show its subnav when clicked
$('#nav-bar ul li').click(function() {
var subnav = $(this).children('ul.subnav');
// hide the other's subnav if it's visible
if ($(this).attr('id') == 'location') {
subnav.toggle();
$('li#feedback').children('ul.subnav').hide();
} else {
subnav.toggle();
$('li#location').children('ul.subnav').hide();
}
});
JS와 jQuery를에 초보자, 내가 노력하고있어 달성하기 위해 덜 자세한 방법이 있는지 알고 싶습니다 위.
편집 : 더 나은 질문은 명시 적으로 li의 ID를 부여하지 않고이 작업을 수행 할 수있는 방법이 있습니까?
<ul id="nav-bar">
<li><a href="#">A link</a> |</li>
<li>
<a href="#">Feedback</a> |
<ul class="subnav">
<li><a href="#">Give us feedback</a></li>
</ul>
</li>
<li><a href="#">Another link</a> |</li>
<li>
<a href="#">Pick your location</a> |
<ul class="subnav">
<li><a href="#">Los Angeles</a></li>
<li><a href="#">New York</a></li>
</ul>
</li>
</ul>
그런 다음 jQuery 코드는 다음과 같이 보일 것이다 :
코드에서 사람들이 알아 내려고하지 말고 달성하려는 목표를 말해야합니다. 코드에서 무엇을하려고하는지 어떻게 알 수 있습니까? – Layke
부모가 클릭되었을 때 하위 갤러리를 토글하려고합니다. 다른 부모가 클릭되면 하나의 하위 탐색을 숨 깁니다. – farkenfooken
Heed Laykes. 자신이하려는 일에 대한 설명과 현재 수행하고있는 방식에 대해 싫어하는 내용을 제공해야합니다. –