하위메뉴가 없으면 대메뉴 클릭 시 바로 이동

하위메뉴가 없으면 대메뉴 클릭 시 바로 이동

QA

하위메뉴가 없으면 대메뉴 클릭 시 바로 이동

본문


<nav class="right">
                             <?php
                                $i=1;
                                foreach($menu_datas as $row) {
                                    $cls = "hasDep2";
                                    if(!is_array($row['sub'])) {
                                        $cls = "";
                                    }
                                ?>
                            <ul>
                                <li>
                                    <a href="<?php echo $row['me_link']; ?>" ><?php echo $row['me_name'] ?></a>
                                    <ul class="sub_depth sub_depth01" >
                                        <?php
                                        if(!is_array($row['sub'])) {
                                            $i++;
                                            continue;
                                        }
                                        ?>
                                         <?php
                                            foreach($row['sub'] AS $row2) {
                                            ?>
                                            <li ><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><?php echo $row2['me_name'] ?></a></li>
                                            <?php
                                            }
                                            ?>
                                    </ul>
                                </li>
                            </ul>
                            <?php
                            $i++;
                            }
                            ?>
                        </nav>

 


    $('.gnb > ul').clone().appendTo('#header .right');
    $(window).on('load resize', function(){
        var ul = $('#header .gnb > ul > li').eq(0).find('ul').innerHeight();
        var headerH = $('#header').innerHeight();
        $('#header .gnb > ul').hover(function(){
            $('#header').addClass('on');
            $('.gnb_bg').height(ul + headerH)
            $('#header .gnb > ul > li').children().next().stop().slideDown(700)
        }, function(){
            $('#header').removeClass('on');
            $('.gnb_bg').height(0)
            $('#header .gnb > ul > li').children().next().stop().slideUp()
        })
        
    })
    $('.m_btn .icon').on('click', function(){
        $(this).toggleClass('on');
        $('.all_gnb').toggleClass('on')
        $('.all_gnb').stop().fadeToggle();
        if(!$('.all_gnb').hasClass('on')){
            $('#header .all_gnb .right > ul > li > a').next().stop().slideUp();
        }
    })

    $('#header .all_gnb .right > ul > li > a').on('click', function(e){
        if($(this).next().length !== 0){
            e.preventDefault();
            $(this).parent().toggleClass('on');
            $('#header .all_gnb .right > ul > li > a').not(this).parent().removeClass('on');
            $('#header .all_gnb .right > ul > li > a').next().stop().slideUp();
            $(this).next().stop().slideToggle();
        }
    })

메뉴를 클릭하면 바로 아래 하위메뉴가 뿌려지는 부분인데요

하위메뉴가 없을 때 대메뉴만 클릭해도 바로 이동되게 하고 싶어요~

지금은 하위가 있어야만 이동이 되구요

도와주세요~~~디자이너에요~~

이 질문에 댓글 쓰기 :

답변 2

if구분을 체크해서 count($row['sub'])>0 서브메뉴의 존재여부를 체크해서 대메뉴에 링크를 적용해서 처리되도록 커스텀해야 하는데 해당 부분을 보시고 어려우시다면 개발자에 의뢰하시는게 효율적이실듯 보입니다.


$('#header .all_gnb .right > ul > li > a').on('click', function(e){
    if($(this).next().length !== 0){
        e.preventDefault();
        $(this).parent().toggleClass('on');
        $('#header .all_gnb .right > ul > li > a').not(this).parent().removeClass('on');
        $('#header .all_gnb .right > ul > li > a').next().stop().slideUp();
        $(this).next().stop().slideToggle();
    }
})

위 구간에서 해결을 보셔야 한 것 같은데
if문 안으로 alert($(this).next().length); 이렇게 찍어서 하위메뉴가 없는 경우와 있는 경우를 체크하신 다음에
if문의 조건을 바꾸면 될 꺼에요
e.preventDefault();
위 코드 때문에 앵커가 동작하지 않는 것이구요..
답변을 작성하시기 전에 로그인 해주세요.
전체 468
QA 내용 검색

회원로그인

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