3단 레이어 소스

<html>
<head>
<title>3단 레이어</title>
</head>
<body class="frameBody">
<head>
<title>3단 레이어</title>
</head>
<body class="frameBody">
<script type="text/javascript">
var WM_BOTTOM = "bottom";
var WM_RIGHT = "right";
var MARGIN_BOTTOM = 1;
var MARGIN_RIGHT = 1;
var currentItem = null;
var menuTrail = new Array();
var currentStyleOff = null;
var MARGIN_RIGHT = 1;
var currentItem = null;
var menuTrail = new Array();
var currentStyleOff = null;
function wmItemOn(item, level, styleOn, styleOff, submenuId, submenuPosition) {
debug("level:" + level + ", styleOn:" + styleOn + ", styleOff:" + styleOff + ", submenu:" + submenuId + "/" + submenuPosition);
stopOffTimer();
// turn off previous item
if (currentItem != null) {
if (styleOff != currentStyleOff && currentStyleOff != null) {
currentItem.className = currentStyleOff;
} else {
currentItem.className = styleOff;
}
}
if (currentItem != null) {
if (styleOff != currentStyleOff && currentStyleOff != null) {
currentItem.className = currentStyleOff;
} else {
currentItem.className = styleOff;
}
}
// make this item new current item
currentItem = item;
item.className = styleOn;
currentStyleOff = styleOff;
currentItem = item;
item.className = styleOn;
currentStyleOff = styleOff;
if (submenuId != null) {
// take care of attached submenu
hide(level);
var menu = document.getElementById(submenuId);
// item dimensions: item.offsetHeight, item.offsetWidth
if (submenuPosition == WM_BOTTOM) {
menu.style.top = findOffsetTop(item) + item.offsetHeight + MARGIN_BOTTOM;
menu.style.left = findOffsetLeft(item);
}
if (submenuPosition == WM_BOTTOM) {
menu.style.top = findOffsetTop(item) + item.offsetHeight + MARGIN_BOTTOM;
menu.style.left = findOffsetLeft(item);
}
if (submenuPosition == WM_RIGHT) {
menu.style.top = findOffsetTop(item);
menu.style.left = findOffsetLeft(item) + item.offsetWidth + MARGIN_RIGHT;
}
menu.style.top = findOffsetTop(item);
menu.style.left = findOffsetLeft(item) + item.offsetWidth + MARGIN_RIGHT;
}
menu.style.visibility = "visible";
menuTrail[level] = menu;
} else {
hide(level);
}
} else {
hide(level);
}
}
function hide(level) {
for (var i = level; i < menuTrail.length; i++) {
menuTrail[i].style.visibility = "hidden";
}
}
for (var i = level; i < menuTrail.length; i++) {
menuTrail[i].style.visibility = "hidden";
}
}
var timerID = null;
var timerOn = false;
var timecount = 250;
var timerOn = false;
var timecount = 250;
function wmStartOffTimer() {
if (timerOn == false) {
timerID = setTimeout("offAll()", timecount);
timerOn = true;
}
}
if (timerOn == false) {
timerID = setTimeout("offAll()", timecount);
timerOn = true;
}
}
function stopOffTimer() {
if (timerOn) {
clearTimeout(timerID);
timerID = null;
timerOn = false;
}
}
if (timerOn) {
clearTimeout(timerID);
timerID = null;
timerOn = false;
}
}
function offAll() {
hide(0);
if (currentStyleOff != null) {
currentItem.className = currentStyleOff;
}
debug("All off by timer.");
}
hide(0);
if (currentStyleOff != null) {
currentItem.className = currentStyleOff;
}
debug("All off by timer.");
}
var debugId = "wmDebug";
function debug(text) {
var debug = document.getElementById(debugId);
if (debug != null) {
debug.innerHTML = "» " + text + "<br>" + debug.innerHTML;
}
}
var debug = document.getElementById(debugId);
if (debug != null) {
debug.innerHTML = "» " + text + "<br>" + debug.innerHTML;
}
}
function findOffsetLeft(obj){
var curleft = 0;
if (obj.offsetParent){
while (obj.offsetParent){
curleft += obj.offsetLeft
obj = obj.offsetParent;
}
}else if (obj.x){
curleft += obj.x;
}
var curleft = 0;
if (obj.offsetParent){
while (obj.offsetParent){
curleft += obj.offsetLeft
obj = obj.offsetParent;
}
}else if (obj.x){
curleft += obj.x;
}
return curleft;
}
}
// Find total top offset.
function findOffsetTop(obj){
var curtop = 0;
if (obj.offsetParent) {
while (obj.offsetParent){
curtop += obj.offsetTop
obj = obj.offsetParent;
}
}else if (obj.y){
curtop += obj.y;
}
function findOffsetTop(obj){
var curtop = 0;
if (obj.offsetParent) {
while (obj.offsetParent){
curtop += obj.offsetTop
obj = obj.offsetParent;
}
}else if (obj.y){
curtop += obj.y;
}
return curtop;
}
}
</script>
<style>
.wmSubMenuHidden {position:absolute;visibility:hidden;}
.hItemOn {width:100px;padding:3px;background:#DCDCDC;cursor:pointer;}
.hItemOff {width:100px;padding:3px;background:#F0F0F0;cursor:pointer;}
.vItemOn {width:100px;padding:3px;background:#FFFFE6;border:1px solid #336699;cursor:pointer;}
.vItemOff {width:100px;padding:3px;background:#FFFFE6;cursor:pointer;}
</style>
.wmSubMenuHidden {position:absolute;visibility:hidden;}
.hItemOn {width:100px;padding:3px;background:#DCDCDC;cursor:pointer;}
.hItemOff {width:100px;padding:3px;background:#F0F0F0;cursor:pointer;}
.vItemOn {width:100px;padding:3px;background:#FFFFE6;border:1px solid #336699;cursor:pointer;}
.vItemOff {width:100px;padding:3px;background:#FFFFE6;cursor:pointer;}
</style>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,0,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 00</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,0,'vItemOn','vItemOff','vSubmenu1',WM_RIGHT);" onMouseOut="wmStartOffTimer();">MENU 01 »</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,0,'vItemOn','vItemOff','vSubmenu2',WM_RIGHT);" onMouseOut="wmStartOffTimer();">MENU 02 »</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,0,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 03</div>
<div id="vSubmenu1" class="wmSubMenuHidden">
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 11</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 12</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff','vSubmenu3',WM_RIGHT);" onMouseOut="wmStartOffTimer();">MENU 13 »</div>
</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 11</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 12</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff','vSubmenu3',WM_RIGHT);" onMouseOut="wmStartOffTimer();">MENU 13 »</div>
</div>
<div id="vSubmenu2" class="wmSubMenuHidden">
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 21</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 22</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 23</div>
</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 21</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 22</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,1,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 23</div>
</div>
<div id="vSubmenu3" class="wmSubMenuHidden">
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,2,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 31</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,2,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 32</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,2,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 33</div>
</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,2,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 31</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,2,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 32</div>
<div class="vItemOff" onClick="javascript:window.location='#'" onmouseover="javascript:wmItemOn(this,2,'vItemOn','vItemOff',null,null);" onMouseOut="wmStartOffTimer();">MENU 33</div>
</div>
</body>
</html>
</html>
게시판 목록
개발자팁
개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.
질문은 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 5396 | 기타 |
슈퍼스타맨
|
3개월 전 | 334 | |
| 5395 | PHP |
untitled
|
5개월 전 | 807 | |
| 5394 | MySQL |
선택과집중
|
5개월 전 | 581 | |
| 5393 | 웹서버 |
techstar
|
7개월 전 | 848 | |
| 5392 |
|
1년 전 | 1205 | ||
| 5391 | 9개월 전 | 1108 | |||
| 5390 | 9개월 전 | 892 | |||
| 5389 | 8개월 전 | 863 | |||
| 5388 | 8개월 전 | 964 | |||
| 5387 | 7개월 전 | 795 | |||
| 5386 | JavaScript |
nekoieye
|
7개월 전 | 957 | |
| 5385 | 웹서버 | 7개월 전 | 977 | ||
| 5384 | JavaScript |
|
8개월 전 | 800 | |
| 5383 | 기타 | 9개월 전 | 1115 | ||
| 5382 | 기타 |
|
9개월 전 | 566 | |
| 5381 | JavaScript | 9개월 전 | 895 | ||
| 5380 | 기타 |
|
9개월 전 | 676 | |
| 5379 | JavaScript | 9개월 전 | 678 | ||
| 5378 | 10개월 전 | 1187 | |||
| 5377 | 기타 |
|
10개월 전 | 751 | |
| 5376 | jQuery |
|
10개월 전 | 560 | |
| 5375 | jQuery |
techstar
|
10개월 전 | 717 | |
| 5374 | 기타 |
|
10개월 전 | 765 | |
| 5373 | MySQL |
|
11개월 전 | 798 | |
| 5372 | 기타 |
|
11개월 전 | 1000 | |
| 5371 | JavaScript |
|
11개월 전 | 711 | |
| 5370 | JavaScript |
|
11개월 전 | 717 | |
| 5369 | PHP |
|
11개월 전 | 1228 | |
| 5368 | PHP | 11개월 전 | 1396 | ||
| 5367 | 기타 |
nekoieye
|
1년 전 | 1270 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기