간단한 서브메뉴 onmouseover 이벤트 팁
- 서론 : 자유게시판의 요엘아빠님의 글에서 소스와 예제를 원하시는 분이 계셔서 이렇게 여기에 올립니다
:: 간단한 소개 ::
저는 요번 메뉴를 웹표준에 맞게 제작하여서 실제론 <div>, <ul>, <li> 소스만 사용하였
습니다. 또한 이에 맞게 CSS 스타일도 입혀주었습니다. 아래 예제들은 제일 간단하게 제작되었습니다.
저는 요번 메뉴를 웹표준에 맞게 제작하여서 실제론 <div>, <ul>, <li> 소스만 사용하였
습니다. 또한 이에 맞게 CSS 스타일도 입혀주었습니다. 아래 예제들은 제일 간단하게 제작되었습니다.
>> 이미지 활용
:: CSS (스타일시트) ::
설명 : 서브메뉴는 기본적으로 display 속성을 none 으로 맞춰줍니다. 그리고 이미지에는 <a> 태그를 사용하지 않을 경우로 포인터 속성을 입혀주었습니다.
#submenu_1 { display:none }
#submenu_2 { display:none }
#mainmenu_img { cursor:pointer; border:0; }
설명 : 서브메뉴는 기본적으로 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;
}
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>
설명 : 이미지 사용시 <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에서 이동 됨]
|
댓글을 작성하시려면 로그인이 필요합니다.
프로그램
태그 필터 (최대 3개)
전체
개발자
소스
기타
mysql
팁자료실
javascript
php
linux
flash
정규표현식
jquery
node.js
mobile
웹서버
os
프로그램
강좌
썸네일
이미지관련
도로명주소
그누보드5
기획자
견적서
계약서
기획서
마케팅
제안서
seo
통계
서식
통계자료
퍼블리셔
html
css
반응형
웹접근성
퍼블리싱
표준화
반응형웹
홈페이지기초
부트스트랩
angularjs
포럼
스크린리더
센스리더
개발자톡
개발자팁
퍼블리셔톡
퍼블리셔팁
기획자톡
기획자팁
프로그램강좌
퍼블리싱강좌
댓글 7개
그런데 혹시 쿠키를 기억할 수 있도록 할 수 있는 방법은 없을까요??
특정 메뉴에 가면 그 메뉴들이 활성화가 되게 하고 싶어서요..ㅠㅠ
넣을수 없을까요???