div 색상변경

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
div 색상변경

QA

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 = 게시판명

 

여러가지 방법이 많습니다~~

https://zetawiki.com/wiki/PHP_%ED%98%84%EC%9E%AC_%ED%8E%98%EC%9D%B4%EC%A7%80_URL_%EC%A3%BC%EC%86%8C_%ED%99%95%EC%9D%B8

위 링크도 한번 보시면 더 도움되실겁니다.

 

 

 

 

여러가지 방법이 있겠지만..

조건이 참일때 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 등등 지정해주면 되겠습니다.

다소 노가다적인 방법이지만 최소한의 설명으로 구현되는 내용이라

이방법으로..^^;

 

 

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$outlogin_skin_url.'/style.css">', 0);

include_once(G5_THEME_PATH.'/head.sub.php');
include_once(G5_LIB_PATH.'/latest.lib.php');
include_once(G5_LIB_PATH.'/outlogin.lib.php');
include_once(G5_LIB_PATH.'/poll.lib.php');
include_once(G5_LIB_PATH.'/visit.lib.php');
include_once(G5_LIB_PATH.'/connect.lib.php');
include_once(G5_LIB_PATH.'/popular.lib.php');
?>

<style>
.active {background-color:#f6f6f6;}
</style>

<?
$pagename = explode('.', basename($_SERVER['PHP_SELF']));
$bo_table = explode('.', basename($_SERVER['PHP_SELF']));
?>

<?php echo $bo_table ?>
<?php echo $pagename ?>

=======위의 두줄을 출력해 보았는데 Array 라고만 출력이 됩니다

<div class="menu <?php if ($bo_table = "notice") { ?>active<?php } ?>" style=" cursor: pointer;border-bottom:0px;" onclick="location.href='<?php echo G5_BBS_URL ?>/board.php?bo_table=notice'"
>공지사항</div>
<div class="menu <?php if ($bo_table = "download") { ?>active<?php } ?>" style=" cursor: pointer;" onclick="location.href='<?php echo G5_BBS_URL ?>/board.php?bo_table=download'"
>다운로드</div>

답변 너무나도 감사합니다
님이 말씀하신대로 해보았는데 제가 잘몰라서 실행이 안되고 있습니다

위에 적은 소스대로 이렇게도 해보고 저렇게도 해보는데
잘안되고 있습니다

조금더 조언을 부탁드려도 될까요?

($bo_table = "download") 이 부분은

= 이 하나일때도 두개일때도 동일하게 실행이 안되고 있습니다

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT