메뉴 jquery 질문

메뉴 jquery 질문

QA

메뉴 jquery 질문

본문

햄버거 메뉴를 수정해야하는 상황인데요,

햄버거 메뉴 클릭시 전체 메뉴가 열려있는데 (li에 class에 active)

다 닫혀있는 형태로 시작하려면 해당 소스에서 어떤 부분을 수정해야 할까요?

 


<div class="menuList">
        <ul class="list">
                <li>
                    <a class="dropdown-toggle">1차<i></i></a>
                    <ul class="sMenu">
                         <li><a href="">2차</a></li>
                         <li><a href="">2차</a></li>
                         <li><a href="">2차</a></li>
                    </ul>
                </li>
      </ul>
</div>
 
 
$("body").on("click ", "#menuArea .menuList>.list>li", function(){
        var idx = $("#menuArea .menuList>.list>li").index($(this));
        $("#menuArea .menuList>.list>li").each(function(index){
            if(idx == index){
                if(!$(this).hasClass("active")){
                    $(this).addClass("active");
                    $(this).find(".sMenu").slideDown(300);
                }else{
                    $(this).removeClass("active");
                    $(this).find(".sMenu").slideUp(300);
                }
            }else{
                $(this).removeClass("active");
                $(this).find(".sMenu").slideUp(300);
            }
        });
    });
 

이 질문에 댓글 쓰기 :

답변 1

안녕하세요.

아래의 코드를 한번 참고해 보시겠어요?

 

html

<div class="menuList">
    <ul class="list">
        <li>
            <a class="dropdown-toggle">1차<i></i></a>
            <ul class="sMenu">
                <li><a href="">2차</a></li>
                <li><a href="">2차</a></li>
                <li><a href="">2차</a></li>
            </ul>
        </li>
    </ul>
</div>
 

 

css

 

#menuArea .menuList>.list>li .sMenu {
    display: none;
}
 

 

jquery

 

$(document).ready(function() {
    // 페이지 로드 시 2차 메뉴를 숨깁니다.
    $("#menuArea .menuList>.list>li .sMenu").hide();
});

$("body").on("click ", "#menuArea .menuList>.list>li", function(){
    var idx = $("#menuArea .menuList>.list>li").index($(this));
    $("#menuArea .menuList>.list>li").each(function(index){
        if(idx == index){
            if(!$(this).hasClass("active")){
                $(this).addClass("active");
                $(this).find(".sMenu").slideDown(300);
            }else{
                $(this).removeClass("active");
                $(this).find(".sMenu").slideUp(300);
            }
        }else{
            $(this).removeClass("active");
            $(this).find(".sMenu").slideUp(300);
        }
    });
});
 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 14
QA 내용 검색
filter #menu ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT