jquery 메뉴바 현재페이지 설정

jquery 메뉴바 현재페이지 설정

QA

jquery 메뉴바 현재페이지 설정

본문

가로형 메뉴바인데 현재 menu1 or 2 클릭하면 하단부 메뉴들이 나오고 다시 클릭하면 오버가 되는데 현재페이지일경우에 하단부메뉴도 나오게 하고싶은데... jquery에 워낙 지식이 없어서.... 제이쿼리 잘하시는 고수님들 부탁드려요

 

링크부분에 참고해서 만들긴했는데

----------------------------------

menu_ul.hide(); // 아래 추가

if(!menu_ul.hasClass('active')) {

    menu_ul.eq(0).show();

}

-----------------------------------

이렇게 하면 처음 화면딴 설정할때는 된다는데

eq(0)이 아닌 현재페이지 일경우 어떻게 해야할까요?

 

또한 현재페이지 확인이 <?php if($_SERVER["REQUEST_URI"]=='메뉴1경로'){echo '_on';}?>여기 메뉴1 경로를 다적어서 현재페이지랑 맞게 만들었는데.ㅠ ex) 'bbs/test1.php'이렇게 만들었는데 $_SERVER["REQUEST_URI"]와 같은 값인 현재페이지를 확인하는 경로를 머로 해야될까요?ㅠㅠㅠ

 

<script type="text/javascript">

 $(function() {
 
     var menu_ul = $('.menu > li > ul'),
            menu_a  = $('.menu > li > a');
    
     menu_ul.hide();
     menu_a.click(function(e) {
         e.preventDefault();
         if(!$(this).hasClass('active')) {
             menu_a.removeClass('active');
             menu_ul.filter(':visible').slideUp('normal');
             $(this).addClass('active').next().stop(true,true).slideDown('normal');
         } else {
             $(this).removeClass('active');
             $(this).next().stop(true,true).slideUp('normal');
         }
     });
 
 });
 
</script>

    <nav id="left">
        <h2>메인메뉴</h2>
        <UL class="menu">
        <li class="item"><a>menu1</a>
            <ul >
            <li class="subitem<?php if($_SERVER["REQUEST_URI"]=='메뉴1경로'){echo '_on';}?>"><a href="#">menu1-1</a></li>
            <li class="subitem"><a href="#">menu1-2</a></li>
            <li class="subitem"><a href="#">menu1-3</a></li>
            <li class="subitem"><a href="#">menu1-4</a></li>
            </ul>
           
        </li>
       
        <li class="item"><a >menu2</a>
            <ul>
            <li class="subitem"><a href="#">menu2-1</a></li>
            <li class="subitem"><a href="#">menu2-2</a></li>
            <li class="subitem"><a href="#">menu2-3</a></li>
            <li class="subitem"><a href="#">menu2-4</a></li>
            </ul>
           
        </li>
        </UL>

    </nav>​

이 질문에 댓글 쓰기 :

답변 2

제가 제대로 이해 한건지 모르겠으나

메뉴 순서는 어차피 고정되어 있을테니 각 페이지 별로 eq값을 지정해주면 되지 않을까 싶습니다.

 


<?php
switch($_SERVER['REQUEST_URI']){
case "bbs/test2.php" : $eq = 1; break;
case "bbs/test3.php" : $eq = 2; break;
default : $eq = 0; break;
}
?>

 

이런식으로 페이지별로 eq값을 지정 해주고

 


menu.eq(<?=$eq?>).show();

 

이런식으로 처리 해주시면 될듯 합니다. 

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

회원로그인

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