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에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 5096 | PHP | 3년 전 | 1498 | ||
| 5095 | JavaScript | 3년 전 | 2126 | ||
| 5094 | JavaScript | 3년 전 | 2045 | ||
| 5093 | 기타 | 3년 전 | 1415 | ||
| 5092 | JavaScript | 3년 전 | 1962 | ||
| 5091 | 기타 |
|
3년 전 | 1320 | |
| 5090 | 기타 |
|
3년 전 | 2255 | |
| 5089 | 웹서버 |
|
3년 전 | 3330 | |
| 5088 | JavaScript | 3년 전 | 2060 | ||
| 5087 | 기타 | 3년 전 | 1657 | ||
| 5086 | 웹서버 |
|
3년 전 | 1701 | |
| 5085 | node.js | 3년 전 | 1646 | ||
| 5084 | JavaScript |
DogFoot개발
|
3년 전 | 1452 | |
| 5083 | 웹서버 |
DogFoot개발
|
3년 전 | 2988 | |
| 5082 | JavaScript |
DogFoot개발
|
3년 전 | 4026 | |
| 5081 | JavaScript |
DogFoot개발
|
3년 전 | 2100 | |
| 5080 | JavaScript |
DogFoot개발
|
3년 전 | 2438 | |
| 5079 | 기타 |
DogFoot개발
|
3년 전 | 2492 | |
| 5078 | OS | 3년 전 | 1648 | ||
| 5077 | 웹서버 |
DogFoot개발
|
3년 전 | 1723 | |
| 5076 | 기타 |
DogFoot개발
|
3년 전 | 1535 | |
| 5075 | 기타 |
DogFoot개발
|
3년 전 | 1676 | |
| 5074 | 기타 | 3년 전 | 2282 | ||
| 5073 | 기타 | 3년 전 | 2553 | ||
| 5072 | 웹서버 |
|
4년 전 | 2234 | |
| 5071 | 웹서버 | 4년 전 | 3236 | ||
| 5070 | PHP | 4년 전 | 3197 | ||
| 5069 | 웹서버 | 4년 전 | 2433 | ||
| 5068 | 기타 |
|
4년 전 | 3013 | |
| 5067 | 기타 |
DogFoot개발
|
4년 전 | 2684 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기