메뉴 부분 좀 봐주세요~

메뉴 부분 좀 봐주세요~

QA

메뉴 부분 좀 봐주세요~

본문

function menuJs(){
    $("#nav>ul>li").mouseenter(function(){
        var menuNum = $(this).index()+1;
        if(menuNum === menuNum){
            $('header').addClass('dark on');
            $('header h1.logo').addClass('dark');
            $(".lnb").stop().hide().removeClass('on');
            $(".lnb.sub"+menuNum+"").stop().show();
            tl.staggerFromTo($(".lnb.sub"+menuNum+" .dep2"), 0.5, {opacity:0, x:'10px'}, {opacity: 1,x:'0%', delay:0.1, ease: Power1.easeInOut});
        }else{
            $(".lnb").stop().hide();
        }
    });
    $("#nav").mouseleave(function(){
        $(".lnb").stop().hide();
        $('header h1.logo').removeClass('dark');
        if($('header').hasClass('fix_style')){
            $('header').removeClass('on');
        }else{
            $('header').removeClass('dark on');
        }
    });
    //언어선택 셀렉박스
    $(document).on("click","header .language > button",function(){
        $(this).parent(".language").toggleClass("open");
        if($(this).parent(".language").hasClass("open")){
            $(".language").find("ul").stop().slideDown(500);
        }else{
            $(".language").find("ul").stop().slideUp(300);
        }
    });
    $("header .language ul").mouseleave(function(){
        $("header .language").removeClass("open");
        $(this).stop().slideUp(300);
    });
}
 


<nav id="nav">
            <ul class="gnb">
                    <?php
                        $menu_datas = get_menu_db(0, true);
                        $gnb_zindex = 999; // gnb_1dli z-index 값 설정용
                        $i = 0;
                        foreach( $menu_datas as $row ){
                            if( empty($row) ) continue;
                            $add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : '';
                        ?>
                        <li class="menu">
                            <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="btn-dep1 "><div><?php echo $row['me_name'] ?></div></a>
                            <?php
                            $k = 0;
                            foreach( (array) $row['sub'] as $row2 ){
                            if( empty($row2) ) continue;
                            if($k == 0)
                                echo '<div class="lnb sub1"><ul class="dep2">'.PHP_EOL;
                            ?>
                            <li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><?php echo $row2['me_name'] ?></a></li>
                            <?php
                            $k++;
                            }   //end foreach $row2
                            if($k > 0)
                                echo '</ul></div>'.PHP_EOL;
                            ?>
                        </li>
                        <?php $i++; }   //end for ?>
                </ul> 
        </nav>

 

 

 echo '<div class="lnb sub1"><ul class="dep2">'.PHP_EOL; 

이쪽 부분 보시면 sub1 sub2 sub3 이런식으로 클래스를 해놔야지 하위메뉴가 나오거든요

그런데 지금 프로그램으로 붙여놔서 나올 수 없는 상황이에요~

도와주세유~

이 질문에 댓글 쓰기 :

답변 1

이부분 실행이 된다면

<div class="lnb sub1"><ul class="dep2">
$row['sub']의 값이 있을때까지 
<li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><?php echo $row2['me_name'] ?></a></li>
 이부분이 출력

그리고 마지막으로 

</ul></div>

닫히는 구조라서 태그상의 문제는 없는것 같아요

다만 질문의 의도가 

<div class="lnb sub1"><ul class="dep2">

</ul></div>

 

<div class="lnb sub2"><ul class="dep2">

</ul></div>

 

 

<div class="lnb sub3"><ul class="dep2">

</ul></div>

 

이런식으로 나오게 하는건지 명확하지 않네요

질문의 의도가 먼지를 잘모르겠어서요

제가 위에 말한 내용이 맞다면 sub1, sub2, sub3 이렇게 나오게 한다면

반복문(foreach) 쓰기전에 변수를 둬서 활용하는 방안이 있을수 있겠네요 

$k를 확용한다면

처음에는 sub<?php echo ($k+1);?> 이런식으로 써주기만해도

원하시는 숫자 증가를 하실수 있으실거 같네요

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

회원로그인

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