2026, 새로운 도약을 시작합니다.

menu_rearrange 메뉴 스크립트 채택완료

function menu_rearrange(el)
{
    console.log("menu_rearrange");

    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;
        }
    }
}

그누보드 /js/jquery.menu.js 파일에 있는  menu_rearrange 함수는 정확히 어떤 작용인가요?

1차 메뉴와 2차메뉴를 조절하는거같은데..

gnb_1dli_over2 클래스 추가는 왜 하는건가요?

따로 css를 적용해주진 않는거 같은데, 이 클래스가 추가되고 gnb_1dli_over가 없어지면서 하위 메뉴가 안뜨는 현상이 나오네요..

2차메뉴의 너비와 관련된 스크립트같은데 정확히 어떤 기능인가요?

el.removeClass("gnb_1dli_over").addClass("gnb_1dli_over2");

주석하고 2차메뉴 보니까 딱히 없어도 될거같은데 해당 소스는 왜 들어갔던걸까요?

답변 1개

채택된 답변
+20 포인트

저걸로 굳이 메뉴 제어 안해도 됩니다~ 2차 메뉴 같은건 메뉴 엘리먼트에 따라서 달라지구요 제이쿼리로 직접 만든게 훨씬 빠릅니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고