3단 레이어 소스 정보
기타 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>
추천
1
1
댓글 0개