div 색상변경
본문
안녕하세요?
div로 만들어진 메뉴에서 해당 메뉴가 선택되면 색상이 변해있게 하려면 어떻게 해야 하나요?
조언 부탁드리겠습니다.
감사합니다
답변 3
원리를 이해하시면 쉽습니다!
일단 아래 링크 들어가셔서 메뉴 눌러보셔요.
https://false9.co.kr/_20200911/page1.php
페이지 에다가 <?php $pagename = "회사소개"; ?> 이렇게 이름 정해주시고,
변경될 클래스 넣어주시면 끝입니다 ㅠ <?php if($pagename == "회사소개") { ?>active<?php } ?>
https://false9.co.kr/_20200911.zip (클릭말고 복사해서 붙여넣으세요~)
샘플로 코딩을 했으니 위 링크에서 다운받아서 해보세요~
화이팅!
pagename 을 정의해줘야 합니다.
<? $pagename = explode('.', basename($_SERVER['PHP_SELF'])); ?>
위처럼 적은후,
내가 만든 페이지가 aaa.php 라면
<div <?php if($pagename[0] =='aaa'){?>class="menu_on"<?php } ?>>메뉴명</div>
aaa 라는 페이지가 일치할때 menu_on 클래스가 동작합니다.
게시판이라면?
<div <?php if($bo_table =='notice'){?>class="menu_on"<?php } ?>>공지사항</div>
notice = 게시판명
여러가지 방법이 많습니다~~
위 링크도 한번 보시면 더 도움되실겁니다.
여러가지 방법이 있겠지만..
조건이 참일때 class 를 넣어주는 방법 입니다.
우선 활성화시 표현될 스타일을 active 에다가 넣어줍니다.
.active {background-color:#ffcccc;}
각 페이지를 구분할 수 있는 기준을 정해주기위해
$pagename="aaa"; 형태로 각 페이지에 이름을 정해줍니다.
활성화 처리를 할곳에 조건을 넣어줍니다.
<div class="menu1 <?php if ($pagename == "aaa") { ?>active<?php } ?>">메뉴1</div>
(현재 페이지에 $pagename이 aaa인 경우 class="" 에 active 를 출력)
이렇게 했을때 열려있는 페이지에 $pagename="aaa"; 가 있으면 참이 되므로
<div class="menu1 active">메뉴1</div> 이렇게 표현이 되겠죠?
이런형태로 aaa, bbb 등등 지정해주면 되겠습니다.
다소 노가다적인 방법이지만 최소한의 설명으로 구현되는 내용이라
이방법으로..^^;