서브페이지에 출력한 서브메뉴에 class 붙이기
본문
안녕하세요!
전에 있던 서브 네비게이션을 변형시키고 있는데 현재 들어간 페이지에 class를 주고 싶어요!
몇 가지 구문을 추가하면 될 것 같기도 하고.. 초보퍼블리셔라 php구문을 아직 모르겠어서 질문드립니다.
오늘도 좋은 하루 보내세요!
서브네비게이션 파일 공유드립니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$MENUM = array();
$where = '';
if(G5_IS_MOBILE) $where = ' where me_mobile_use=1 ';
else $where = ' where me_use=1 ';
$sql = "select *, CHAR_LENGTH(me_code) cl from {$g5['menu_table']} {$where} order by cl asc, me_order asc, me_code asc";
$res = sql_query($sql);
while($row = sql_fetch_array($res)) {
if($row['cl'] == 2) {
$k1 = $row['me_code'];
$MENUM[$k1] = $row;
$dp1++;
$dp2 = 0;
}
else if($row['cl'] == 4) {
$k1 = substr($row['me_code'],0,2);
$k2 = $row['me_code'];
$MENUM[$k1]['ms'][$k2] = $row;
$dp2++;
$dp3 = 0;
}
}
?>
현재 서브 네비게이션 php 파일입니다.
<div class="sub-navi-top">
<div class="sub-navi-wrap">
<?php $lm = substr($LMSM,0,2); ?>
<?php if(is_array($MENUM[$lm]['ms']) && count($MENUM[$lm]['ms']) > 0) { ?>
<ul>
<li class="home"><a href="/">홈</a></li>
<?php foreach ($MENUM[$lm]['ms'] as $k=>$menu) { ?>
<li><a href="<?=$menu['me_link']?>" >
<?=$menu['me_name']?>
</a>
<?php } ?>
</li>
</ul>
<?php } ?>
</div>
</div>
답변 1
$(function () {
const url = window.location.pathname,
urlRegExp = new RegExp(url.replace(/\/$/, '') + "$");
$('.sub-navi-wrap
ul li a').each(function () {
if (urlRegExp.test(this.href.replace(/\/$/, '')) && url != "/") {
$(this).addClass('active');
}
});
});
이걸 적용해보세요.
답변을 작성하시기 전에 로그인 해주세요.