테스트 사이트 - 개발 중인 베타 버전입니다

간단한 서브메뉴 onmouseover 이벤트 팁


- 서론 : 자유게시판의 요엘아빠님의 글에서 소스와 예제를 원하시는 분이 계셔서 이렇게 여기에 올립니다

:: 간단한 소개 ::

저는 요번 메뉴를 웹표준에 맞게 제작하여서 실제론 <div>, <ul>, <li> 소스만 사용하였
습니다. 또한 이에 맞게 CSS 스타일도 입혀주었습니다. 아래 예제들은 제일 간단하게 제작되었습니다.

>> 이미지 활용

:: CSS (스타일시트) ::

설명 : 서브메뉴는 기본적으로 display 속성을 none 으로 맞춰줍니다. 그리고 이미지에는 <a> 태그를 사용하지 않을 경우로 포인터 속성을 입혀주었습니다.

#submenu_1 { display:none }
#submenu_2 { display:none }
#mainmenu_img { cursor:pointer; border:0; }
:: 자바스크립트 ::

var save_layer = null;
function submenu_viewer(menu_id, opt)
{
 if (save_layer != null)
  save_layer.style.display = "none";
 
 if (opt == 'hide')
 {
  if (save_layer != null)
   save_layer.style.display = "none";
 } else {
  var menu = document.getElementById(menu_id);
  menu.style.display = 'block';
 }
 save_layer = menu;
}
:: HTML 소스 ::

설명 : 이미지 사용시 <a>를 사용하지 않는 가정하에 포인터라는 속성을 입혀주며, 링크를 입혀줘도 상관없도록 하게 만들었습니다. 또한 onmouseover 안에 보시면 submenu_viewer의 첫번째 값은 서브메뉴의 아이디값을 넣어주시면 됩니다. 특히 첫 소스에서 'null' 을 뜻하는건 조건을 넘기지 않는 것이며, 두번째 값은 'hide'와 'view'가 있는데, 만일 서브메뉴를 보고싶을시에는 view를 넣어주시면 되시고, 만일 보여진 서브메뉴를 없앨려면 'hide'를 쓰시면 됩니다.

1. 이미지 사용시

<div name="mainmenu">
  <img src="소스" id="mainmenu_img" onmouseover="submenu_viewer('null', 'hide');">
  <img src="메인메뉴1" id="mainmenu_img" onmouseover="submenu_viewer('submenu_1', 'view');">
  <img src="메인메뉴2" id="mainmenu_img" onmouseover="submenu_viewer('submenu_2', 'view');">
</div>

2. 텍스트 사용시
<div name="mainmenu">
  <a href="링크" onmouseover="submenu_viewer('null', 'hide');">인덱스</a>
  <a href="메인메뉴1" onmouseover="submenu_viewer('submenu_1', 'view');">메인메뉴1</a>
  <a href="메인메뉴2" onmouseover="submenu_viewer('submenu_2', 'view');">메인메뉴2</a>

3. 서브메뉴 소스
<div id="submenu_1">어쩌구저쩌구</div>
<div id="submenu_2">어쩌구 저쩌구</div>


갑자기 요청하셔가지고 설명이 좀 복잡한데요...
더 물어보실게 있다면 쪽지를 이용해주시면 감사하겠습니다 ^^

[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 7개

감사드립니다.^^
좋은 소스입니다~ 감사합니다~~
감사합니다..
그런데 혹시 쿠키를 기억할 수 있도록 할 수 있는 방법은 없을까요??
특정 메뉴에 가면 그 메뉴들이 활성화가 되게 하고 싶어서요..ㅠㅠ
근데 마우스 올라 갈시에는 그밑으로 서부메뉴가 나오게 하자면 어&#45935;게 하죠?
onmouseout 이 없는데...
넣을수 없을까요???

게시글 목록

번호 제목
13686
13683
21003
13680
25150
25143
20981
13679
13678
13677
13675
13674
29483
13672
13671
13670
13669
29482
13668
13666
29481
29480
13665
13664
13663
13662
13661
25124
25116
20970
13660
JavaScript adsc
13658
29479
13655
13650
13648
13647
13646
29478
13645
PHP 3.0
13643
13642
13640
13637
13636
13635
13634
29476
13633
13632
13630
29473
13624
13620
13582
13556
29472
29471
13555
13554
13553
13552
13551
13550
13546
13545
13544
29470
13541
13540
13538
13535
29466
13533
29463
13532
13531
13529
29462
13528
29459
29458
13527
13526
13525
13523
13522
13512
13510
13507
13498
29452
13492
13487
29450
13480
13474
13460
13457
29447