카

3단 레이어 소스

· 2013-10-10 (목) 17:29:05 · 5220
3list.jpg

 
<html>
<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;
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;
    }
  }
  // make this item new current item
  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_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);
  }
}
function hide(level) {
  for (var i = level; i < menuTrail.length; i++) {
    menuTrail[i].style.visibility = "hidden";
  }
}
var timerID = null;
var timerOn = false;
var timecount = 250;
function wmStartOffTimer() {
  if (timerOn == false) {
    timerID = setTimeout("offAll()", timecount);
    timerOn = true;
  }
}
function stopOffTimer() {
  if (timerOn) {
    clearTimeout(timerID);
    timerID = null;
    timerOn = false;
  }
}
function offAll() {
  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;
  }
}
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;
  }
  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;
  }
  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>
 
 

<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 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 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>
</body>
</html>
 

첨부파일

3.html (11.9 KB) 4회 2013-10-10 17:29
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
15-12-13 조회 2,523
15-12-13 조회 2,934
15-12-11 조회 2,595
15-12-11 조회 2,558
15-12-11 조회 2,557
15-12-10 조회 2,513
15-12-10 조회 2,576
15-12-10 조회 2,547
15-12-03 조회 3,188
15-12-03 조회 2,712
15-11-25 조회 2,791
15-11-09 조회 3,124
15-11-04 조회 2,950
15-06-09 조회 4,079
15-05-06 조회 5,076
15-03-28 조회 4,547
14-12-05 조회 4,980
14-10-25 조회 5,040
14-10-13 조회 4,261
14-10-03 조회 6,197
14-09-19 조회 4,955
14-09-18 조회 4,039
14-09-13 조회 4,600
14-09-03 조회 5,588
14-08-26 조회 4,197
14-08-26 조회 3,990
14-08-26 조회 3,971
14-08-11 조회 6,445
14-08-06 조회 4,117
14-08-06 조회 3,713
14-08-06 조회 3,914
14-08-01 조회 6,282
14-08-01 조회 3,834
14-07-30 조회 4,429
14-06-28 조회 5,154
14-06-28 조회 4,429
14-05-11 조회 4,579
14-05-09 조회 4,929
14-05-09 조회 7,693
14-04-30 조회 4,302
14-04-27 조회 4,179
14-04-25 조회 4,886
14-04-21 조회 3,869
14-04-21 조회 4,991
14-04-10 조회 4,591
14-04-01 조회 6,148
14-03-03 조회 3,524
14-02-25 조회 5,910
14-02-14 조회 5,188
14-02-13 조회 4,944
14-01-03 조회 4,436
13-12-06 조회 3,758
13-11-22 조회 5,513
13-11-18 조회 4,013
13-10-02 조회 4,434
13-10-02 조회 3,689
13-10-02 조회 3,951
13-10-02 조회 3,810
13-10-02 조회 4,177
13-09-16 조회 8,021
13-09-16 조회 5,386
13-08-18 조회 5,395
13-07-11 조회 4,045
13-07-10 조회 4,683
13-07-09 조회 4,723
13-07-09 조회 4,970
13-07-04 조회 4,475
13-07-04 조회 4,115
13-07-04 조회 4,230
13-07-01 조회 4,713
13-07-01 조회 4,535
13-07-01 조회 6,793
13-06-23 조회 4,367
13-06-05 조회 3,618
13-05-29 조회 4,863
13-05-10 조회 4,269
13-04-05 조회 4,882
13-04-05 조회 6,572
13-04-05 조회 1.1만
13-04-05 조회 7,165
13-04-05 조회 6,558
13-03-31 조회 5,826
13-03-31 조회 4,151
13-03-28 조회 4,513
13-03-28 조회 6,710
13-03-28 조회 9,192
13-03-28 조회 4,325
13-03-24 조회 3,938
13-03-21 조회 4,610
13-03-21 조회 1.8만
13-03-14 조회 3,923
13-03-10 조회 4,740
13-03-10 조회 4,492
13-03-10 조회 4,191
13-03-08 조회 5,251
13-03-08 조회 4,363
13-03-03 조회 5,011
13-03-03 조회 7,457
13-03-03 조회 4,211
13-03-03 조회 1.1만