메뉴 클릭시 서브메뉴 보이게 가능한가요?

메뉴 클릭시 서브메뉴 보이게 가능한가요?

QA

메뉴 클릭시 서브메뉴 보이게 가능한가요?

본문

현재 메뉴는 마우스오버시에 서브메뉴가 나오는데..

 

클릭시 메뉴가 보이게 가능할까요?

 


$(function(){
    var hide_menu = false;
    var mouse_event = false;
    var oldX = oldY = 0;
    $(document).mousemove(function(e) {
        if(oldX == 0) {
            oldX = e.pageX;
            oldY = e.pageY;
        }
        if(oldX != e.pageX || oldY != e.pageY) {
            mouse_event = true;
        }
    });
    // 주메뉴
    var $gnb = $(".gnb_1dli > a");
    $gnb.mouseover(function() {
        if(mouse_event) {
            $("#hd").addClass("hd_zindex");
            $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on");
            $(this).parent().addClass("gnb_1dli_over gnb_1dli_on");
            menu_rearrange($(this).parent());
            hide_menu = false;
        }
    });
    $gnb.mouseout(function() {
        hide_menu = true;
    });
    $(".gnb_2dli").mouseover(function() {
        hide_menu = false;
    });
    $(".gnb_2dli").mouseout(function() {
        hide_menu = true;
    });
    $gnb.focusin(function() {
        $("#hd").addClass("hd_zindex");
        $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on");
        $(this).parent().addClass("gnb_1dli_over gnb_1dli_on");
        menu_rearrange($(this).parent());
        hide_menu = false;
    });
    $gnb.focusout(function() {
        hide_menu = true;
    });
    $(".gnb_2da").focusin(function() {
        $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on");
        var $gnb_li = $(this).closest(".gnb_1dli").addClass("gnb_1dli_over gnb_1dli_on");
        menu_rearrange($(this).closest(".gnb_1dli"));
        hide_menu = false;
    });
    $(".gnb_2da").focusout(function() {
        hide_menu = true;
    });
    $('#gnb_1dul>li').bind('mouseleave',function(){
        submenu_hide();
    });
    $(document).bind('click focusin',function(){
        if(hide_menu) {
            submenu_hide();
        }
    });
});
function submenu_hide() {
    $("#hd").removeClass("hd_zindex");
    $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on");
}
function menu_rearrange(el)
{
    var width = $("#gnb_1dul").width();
    var left = w1 = w2 = 0;
    var idx = $(".gnb_1dli").index(el);
    var max_menu_count = 0;
    var $gnb_1dli;
    for(i=0; i<=idx; i++) {
        $gnb_1dli = $(".gnb_1dli:eq("+i+")");
        w1 = $gnb_1dli.outerWidth();
        if($gnb_1dli.find(".gnb_2dul").size())
            w2 = $gnb_1dli.find(".gnb_2dli > a").outerWidth(true);
        else
            w2 = w1;
        if((left + w2) > width) {
            if(max_menu_count == 0)
                max_menu_count = i + 1;
        }
        if(max_menu_count > 0 && (idx + 1) % max_menu_count == 0) {
            el.removeClass("gnb_1dli_over").addClass("gnb_1dli_over2");
            left = 0;
        } else {
            left += w1;
        }
    }
} 

 

여기부분에서 수정하면 될꺼 같은데... 도통 모르겠네요..

 

고수님들께 도움좀 청해봅니다.  

이 질문에 댓글 쓰기 :

답변 1

답변을 작성하시기 전에 로그인 해주세요.
전체 129,103 | RSS
QA 내용 검색

회원로그인

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