웹

[HTML] 부드럽게 서브메뉴가 슬라이딩 되는 펼침메뉴

· 2008-11-01 (토) 20:55:31 · 4921 · 3

<html>
<head>
    <title>http://siteweb.co.kr/</title>
<script language="javascript">
/**
* by 행복한고니 (20041008)
*
* Homepage : http://siteweb.co.kr/
*/
<!--
function slide(Id, interval, to) {
    var obj = document.getElementById(Id);
    var H, step = 5;

    if (obj == null) return;
    if (to == undefined) { // user clicking
        if (obj._slideStart == true) return;
        if (obj._expand == true) {
            to = 0;
            obj.style.overflow = "hidden";
        } else {
            slide.addId(Id);
            for(var i=0; i < slide.objects.length; i++) {
                if (slide.objects[i].id != Id && slide.objects[i]._expand == true) {
                    slide(slide.objects[i].id);
                }
            }

            obj.style.height = "";
            obj.style.overflow = "";
            obj.style.display = "block";
            to = obj.offsetHeight; // 이거이거
            obj.style.overflow = "hidden";
            obj.style.height = "1px";
        }
        obj._slideStart = true;
    }
   
    step            = ((to > 0) ? 1:-1) * step;
    interval        = ((interval==undefined)?1:interval);

    obj.style.height = (H=((H=(isNaN(H=parseInt(obj.style.height))?0:H))+step<0)?0:H+step)+"px";
   
   
    if (H <= 0) {
        obj.style.display = "none";
        obj.style.overflow = "hidden";
        obj._expand = false;
        obj._slideStart = false;
    } else if (to > 0 && H >= to) {
        obj.style.display = "block";
        obj.style.overflow = "visible";
        obj.style.height = H + "px";
        obj._expand = true;
        obj._slideStart = false;
    } else {
        setTimeout("slide('"+Id+"' , "+interval+", "+to+");", interval);
    }
}
slide.objects = new Array();
slide.addId = function(Id)
{
    for (var i=0; i < slide.objects.length; i++) {
        if (slide.objects[i].id == Id) return true;
    }
    slide.objects[slide.objects.length] = document.getElementById(Id);
}
//-->
</script>

<style>
.menu {
    border:1px solid #999999;
    background-color:#FFCC00;
    padding:3px 1px 1px 5px;
    cursor:hand;
    width:150px;
}
.submenu {
    width:150px;
    padding-left:10px;
    display:none;
}
</style>
</head>
<body>

<div class="menu" onClick="slide('sub1');">메뉴항목 1</div>
<div id="sub1" class="submenu">
    <div>- Sub menu 1-1</div>
    <div>- Sub menu 1-2</div>
    <div>- Sub menu 1-3</div>
    <div>- Sub menu 1-4</div>
    <div>- Sub menu 1-5</div>
</div>
<div class="menu" onClick="slide('sub2');">메뉴항목 2</div>
<div id="sub2" class="submenu">
    <div>- Sub menu 2-1</div>
    <div>- Sub menu 2-2</div>
    <div>- Sub menu 2-3</div>
    <div>- Sub menu 2-4</div>
    <div>- Sub menu 2-5</div>
    <div>- Sub menu 2-6</div>
    <div>- Sub menu 2-7</div>
    <div>- Sub menu 2-8</div>
</div>
<div class="menu" onClick="slide('sub3');">메뉴항목 3</div>
<div id="sub3" class="submenu">
    <div>- Sub menu 3-1</div>
    <div>- Sub menu 3-2</div>
    <div>- Sub menu 3-3</div>
</div>
<div class="menu" onClick="slide('sub4');">메뉴항목 4</div>
<div id="sub4" class="submenu">
    <div>- Sub menu 4-1</div>
    <div>- Sub menu 4-2</div>
    <div>- Sub menu 4-3</div>
</div>
<div class="menu" onClick="slide('sub5');">메뉴항목 5</div>
<div id="sub5" class="submenu">
    <div>- Sub menu 5-1</div>
    <div>- Sub menu 5-2</div>
    <div>- Sub menu 5-3</div>
    <div>- Sub menu 5-4</div>
</div>

</body>
</html>

[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]
|

댓글 3개

2008-11-01 (토) 22:05:54
잘쓸게요.
고맙습니다...
세로메뉴네요. 감사합니다.
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
11-08-16 조회 2,407
11-08-16 조회 2,383
11-08-12 조회 2,217
11-08-02 조회 2,799
11-07-27 조회 2,188
11-07-25 조회 2,314
11-06-28 조회 2,475
11-06-06 조회 3,984
11-06-04 조회 2,579
11-04-25 조회 6,163
11-04-22 조회 2,663
11-04-21 조회 2,883
11-04-08 조회 3,272
11-03-31 조회 2,808
11-03-20 조회 3,229
11-03-10 조회 2,855
11-03-04 조회 3,180
11-03-03 조회 2,902
11-02-26 조회 4,326
11-02-14 조회 5,682
11-02-08 조회 3,284
11-01-30 조회 5,381
11-01-14 조회 5,165
11-01-14 조회 3,720
11-01-14 조회 2,880
11-01-14 조회 2,917
11-01-14 조회 3,063
11-01-12 조회 2,833
11-01-07 조회 4,498
10-12-29 조회 2,468
10-12-22 조회 2,468
10-12-05 조회 5,868
10-11-22 조회 5,225
10-11-13 조회 3,594
10-10-27 조회 3,208
10-10-21 조회 2,907
10-09-21 조회 2,911
10-09-17 조회 2,951
10-09-15 조회 3,398
10-09-14 조회 4,013
10-05-18 조회 2,880
10-02-17 조회 4,314
10-02-12 조회 3,086
09-12-14 조회 5,150
09-12-14 조회 6,022
09-09-19 조회 4,380
09-08-16 조회 6,227
09-07-22 조회 5,632
09-04-13 조회 3,045
09-03-15 조회 5,049
09-03-05 조회 3,878
09-02-09 조회 2,825
08-12-30 조회 3,017
08-12-06 조회 3,220
08-11-30 조회 3,563
08-10-18 조회 4,396
08-10-08 조회 3,772
08-09-19 조회 4,344
08-09-05 조회 2,981
08-09-05 조회 5,089
08-09-05 조회 2,971
08-09-05 조회 3,563
08-09-05 조회 3,477
08-09-01 조회 4,500
08-08-07 조회 2,749
08-06-08 조회 3,222
08-06-02 조회 2,813
08-05-26 조회 5,238
08-05-09 조회 4,305
08-04-22 조회 3,893
08-04-17 조회 4,485
08-04-17 조회 5,560
08-04-17 조회 3,700
08-04-17 조회 8,679
08-04-17 조회 4,593
08-04-17 조회 4,495
08-04-09 조회 3,050
08-03-31 조회 3,549
08-03-26 조회 3,247
08-03-25 조회 3,536
08-03-25 조회 3,961
08-03-25 조회 4,008
08-03-25 조회 3,666
08-03-25 조회 3,561
08-03-25 조회 3,561
08-03-25 조회 5,250
08-02-03 조회 5,313
08-01-18 조회 6,623
08-01-17 조회 3,919
08-01-17 조회 3,737
08-01-12 조회 4,030
08-01-08 조회 3,353
07-12-28 조회 4,622
07-12-04 조회 3,495
07-11-30 조회 5,106
07-11-30 조회 5,717
07-11-02 조회 4,016
07-10-24 조회 3,992
07-10-24 조회 3,268
07-10-24 조회 3,374