GNB active 문의
본문
안녕하세요.
팁게시판의 현재위치 색넣기를 적용하고 잇습니다.
$menu_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$menu = sql_fetch(" select * from {$g5['menu_table']} where me_use = '1' and me_link = '$menu_url' ");
$me_code = substr($menu['me_code'],0,2);
$sql = " select * from {$g5['menu_table']} where me_use = '1' and me_code = '$me_code' ";
$result = sql_query($sql, false);
for ($i=0; $row=sql_fetch_array($result); $i++){$txt = $row['me_name'];$txtx = $row['me_link'];}
$sql2 = " select * from {$g5['menu_table']} where me_use = '1' and substring(me_code, 1, 2) = '$me_code' order by me_order, me_id ";$result2 = sql_query($sql2);
for ($m=0; $row2=sql_fetch_array($result2); $m++){if($row2['me_link'] == $menu_url) $txt2 = $row2['me_name'];$txty = $row2['me_link'];}
if(strpos(G5_URL.$_SERVER['REQUEST_URI'], '=') != '') $s20 = '=';else $s20 = '/';
<nav id="gnb">
<h2>메인메뉴</h2>
<div class="gnb_wrap">
<ul id="gnb_1dul">
<li class="gnb_1dli gnb_mnal"><button type="button" class="gnb_menu_btn" title="전체메뉴">전체메뉴 <i class="fa fa-bars" aria-hidden="true"></i><span class="sound_only">전체메뉴열기</span></button></li>
<?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;
if($member['mb_level'] < $row['me_level']) continue;
$add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : '';
?>
<li class="gnb_1dli <?php echo $add_class; ?>" style="z-index:<?php echo $gnb_zindex--; ?>">
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da <?php if($txt == $row['me_name']||strpos(end(explode($s20, G5_BBS_URL.'/board.php?bo_table='.$bo_table)),end(explode($s20, $row['me_link']))) !== false||end(explode($s20, $row['me_link']))==$co_id||end(explode('=', $row['me_link']))==$go_url){$txtx = $row['me_link'];$txt = $row['me_name'];?>on<?php }?>"><?php echo $row['me_name']; ?></a>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if( empty($row2) ) continue;
if($member['mb_level'] < $row2['me_level']) continue;
if($k == 0)
echo '<span class="bg"></span><div class="gnb_2dul"><ul class="gnb_2dul_box">'.PHP_EOL;
?>
<li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><?php echo $row2['me_name']; ?></a></li>
<?php
$k++;
} //end foreach $row2
if($k > 0)
echo '</ul></div>'.PHP_EOL;
?>
</li>
<?php
$i++;
} //end foreach $row
if ($i == 0) { ?>
<li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
<?php } ?>
</ul>
<div id="gnb_all">
<h2>전체메뉴</h2>
<ul class="gnb_al_ul">
<?php
$i = 0;
foreach( $menu_datas as $row ){
?>
<li class="gnb_al_li">
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_al_a"><?php echo $row['me_name'] ?></a>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if($k == 0)
echo '<ul>'.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>'.PHP_EOL;
?>
</li>
<?php
$i++;
} //end foreach $row
if ($i == 0) { ?>
<li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
<?php } ?>
</ul>
<button type="button" class="gnb_close_btn"><i class="fa fa-times" aria-hidden="true"></i></button>
</div>
<div id="gnb_all_bg"></div>
</div>
</nav>
이렇게 넣어서 잘 사용중인데
문제는..
대메뉴1의 하위메뉴가
서브메뉴1
서브메뉴2
서브메뉴3
이렇게 있으면
서브메뉴1 에 있을때만 active가 먹히고
서브메뉴2, 서브메뉴3에 가면 active가 풀려버립니다.
phpmyadmin 에서 확인해보면
10
1010
1020
여기서 최상단 10에만 active 가 먹히는거 같습니다.
하위 메뉴클릭시에도 대메뉴에 active가 활성화 될 수 있는 방법이 있을까요.
!-->!-->
답변을 작성하시기 전에 로그인 해주세요.