메뉴 부분 좀 봐주세요~
본문
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);?> 이런식으로 써주기만해도
원하시는 숫자 증가를 하실수 있으실거 같네요