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

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

· 16년 전 · 3899 · 7


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

:: 간단한 소개 ::

저는 요번 메뉴를 웹표준에 맞게 제작하여서 실제론 <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개

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

게시글 목록

번호 제목
12245
12244
12243
12241
12239
12238
12237
12233
12232
12230
355
12227
12226
12225
353
12221
12220
12219
12218
12217
12216
12215
12214
12213
12212