당신이 요소를 클릭 모든 요소에서 class clicked
를 제거하고 클릭 요소에 class clicked
를 추가 할 때 시도하면 두 번째에 또한 원하는 경우
$("#product-menu>ul>li").click(function() {
var hidden = $(this).find('.clicked');
$("#product-menu>ul>li").removeClass('clicked');
$(this).addClass('clicked');
$('.productSubmenu').width(menuWidth);
});
DEMO
UPDATE
닫혀있는 메뉴를 클릭하십시오. 이미 클릭 된 항목이 있는지 확인하십시오. class clicked
:
$("#product-menu>ul>li").click(function() {
var hidden = $(this).find('.clicked');
if ($(this).hasClass('clicked')) {
$(this).removeClass('clicked')
} else {
$("#product-menu>ul>li").removeClass('clicked');
$(this).addClass('clicked');
}
$('.productSubmenu').width(menuWidth);
});
DEMO2
을 종료 할 수 있습니다 (10). 여기 솔루션입니다 - http://stackoverflow.com/questions/23270323/click-to-expand-shall-result-in-collapsing-other-opened-items – Orahmax
시간에 도움이되지 못했습니다 ... 당신의 HTML은 정말 읽기가 힘듭니다. 정말 많은 ul/li이 필요하십니까? o_O ' – Apolo
@Apolo 아직 기회가 있습니다 :) 두 번째 클릭시 메뉴가 닫혀 야하므로 토글 클래스를 고수해야합니다. 그리고 네, 마크 업은 동일하게 유지되어야합니다. – Marek