테스트 사이트 - 개발 중인 베타 버전입니다

메뉴 부분 좀 봐주세요~ 채택완료

홀로그램웹 2년 전 조회 2,007

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

</p>

<p><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 ){</p>

<p>                            if( empty($row2) ) continue;</p>

<p>                            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</p>

<p>                            if($k > 0)

                                echo '</ul></div>'.PHP_EOL;

                            ?>

                        </li>

                        <?php $i++; }   //end for ?>

                </ul> 

        </nav></p>

<p>

 

 

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

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

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

도와주세유~

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

답변 1개

채택된 답변
+20 포인트

이부분 실행이 된다면

<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);?> 이런식으로 써주기만해도

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

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

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

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

로그인