사이드 메뉴에서 선택되었을때만 class 값 주기
본문
<ul class="filter">
<?
if($gr_id<>"") {
$sql = " select bo_table, bo_subject from $g5[board_table] where gr_id = '$gr_id' order by bo_table ";
$result = sql_query($sql);
$array_new = sql_fetch(" select * from ".$g5['group_table']." where gr_subject = '".$group[gr_subject]."'");
$i=1;
while($row=sql_fetch_array($result)){
?>
<li class="all active"><a href="<? echo G5_BBS_URL ?>/board.php?bo_table=<?=$row[bo_table]?>" class="btn btn-color"><?=$row[bo_subject]?></a>
<?
if($i % 1 == 0){
echo "</li>";
}
$i++;
}
}
?>
</ul>
위의 사이드 메뉴 소스에서는 전체 li 에 class="all active" 가 적용되어 있습니다.
이것을 사이드 메뉴를 클릭해서 현재 페이지 게시판의 li 값에만 class="all active"를 나타나게 할 방법이 있나요?
답변 2
<li class="all active">
를
<li class=<?$row[bo_table]==$_REQUEST['bo_table'] ? : "all active" : "" ?>>
로 바꿔보세요
전체 구조가 있었으면 좋았을텐데요 ㅠㅠ
사이드 메뉴 클릭이벤트가 이미 있는건가요? 없는 경우라면
일단은 HTML에서 사이드 메뉴에 해당하는 태그를 찾으신후 그 태그에 클래스를 지정하거나
document.getElementsByTagName() 이나 클래스네임, 제이쿼리등등을 이용하여 이벤트 효과를 줄
태그를 뽑아 준다음에 자바스크립트로 이벤트 처리를 하면 될거 같구요
이미 클릭이벤트가 설정이 되어있는 경우라면 해당 이벤트 코드를 찾아서
범위를 전체가 아니라 인덱스나 this등을 사용하여 현재 게시판에만 해당되게 만들어주셔야 할겁니다.
답변을 작성하시기 전에 로그인 해주세요.