홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
PHP와 자바스크립트를 이용한 드롭다운 메뉴
11년 전
PHP와 자바스크립트를 이용한 드롭다운 메뉴


제목 그대로 php와 javascript 를 이용한 드롭다운 메뉴 소스입니다. 오래전에 괜찮다 싶어서 저장 해놨던 소스라 출처는 기억이 안나는데, 해외 사이트에서 퍼온걸로 기억됩니다.

  

<script type="text/javascript">
<!--
function toggle(id) {
    if(document.getElementById) {
       var el = document.getElementById(id);
       el.style.display = (el.style.display == 'none') ? 'block' : 'none';
    }
}
//-->
</script>
</head>
<body>

<?php

// menu title => menu target
$menu = array('Menu One'=>array('Page One'=>'blist_menu.php?pg=1',
                                      'Page Two'=>'blist_menu.php?pg=2'),
                            'Menu Two'=>array('Page Three'=>'blist_menu.php?pg=3',
                                      'Page Four'=>'blist_menu.php?pg=4'),
                            'Menu Three'=>array('Page Five'=>'blist_menu.php?pg=5',
                                      'Menu Four'=>array('Page Six'=>'blist_menu.php?pg=6',
                                                'Page Seven'=>'blist_menu.php?pg=7')));

// alternative method to using cookies
function array_search_recursive($needle, $haystack) {
        $pos = null;
        $keys = array_keys($haystack);
        while(!$pos && (list($garbage, $value)=each($keys))) {
               if(is_scalar($haystack[$value])) {
                   if($haystack[$value] === $needle)
                        $pos[] = $value;
               } elseif(is_array($haystack[$value])) {
                      if($pos = array_search_recursive($needle, $haystack[$value]))
                           array_unshift($pos, $value);
              }
         }
         return $pos;
}

// recursive function to draw menu
function draw_menu($menu, $preserve, &$id) {
        if($id == 0)
            echo "<div id=\"$id\">\r\n<ul>\r\n";
        else
            echo "<div id=\"$id\" style=\"display:none;\">\r\n<ul>\r\n";
        $id += 1;

        foreach($menu as $key=>$value) {
              if(is_array($value)) {
                  if(@in_array($key, $preserve))
                          $toggle = $id;
                  echo "<li><a href=\"#\" onclick=\"toggle($id);\">$key</a></li>\r\n";
                  draw_menu($value, $preserve, $id);
              }
             else {
                      echo "<li class=\"file\">";
                      if(@in_array($key, $preserve))
                           echo "<a class=\"live\" href=\"$value\">$key</a>";
                      else
                            echo "<a href=\"$value\">$key</a>";
                      echo "</li>\r\n";
              }
         }
         echo "</ul>\r\n</div>\r\n";
         if(isset($toggle))
             echo "<script language=\"javascript\">toggle($toggle);</script>\r\n";
}

$id = 0;
$base = basename($_SERVER['PHP_SELF']);
$self = isset($_SERVER['QUERY_STRING']) ? $base.'?'.$_SERVER['QUERY_STRING'] : $base;
$preserve = array_search_recursive($self, $menu);
draw_menu($menu, $preserve, $id);

?>


추천추천 : 215 추천 목록
번호 제목
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
3,008
 윈도우10 시스템 파일 및 Dism 검사
3,007
 텍스트 줄바꿈, 글자자르기 CSS
3,006
 jQuery Mobile에서 유용한 코드 10가지.
3,005
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,004
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,003
 [jQuery] jQuery Quick API
3,002
 [ transition ] 링크 hover 색상 변화 속도 조절
3,001
 PHP 5.3.0 에서 사라진 함수들 대체
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.