풍선도움말(팝업) > 기술자료 | 해피정닷컴

풍선도움말(팝업) > 기술자료

본문 바로가기

사이트 내 전체검색

풍선도움말(팝업) > 기술자료

JavaScript 풍선도움말(팝업)

페이지 정보


본문



샘플 : https://happyjung.com/demo/js/help_tip.html


<html>
<head>
<title>도움말 만들기</title>

<script>
var last_id = null;
function menu(id)
{
    if (id != last_id)
    {
        if (last_id != null)
        document.getElementById(last_id).style.display = "none";
        document.getElementById(id).style.display = "block";
        last_id = id;
    }
    else
    {
        document.getElementById(id).style.display = "none";
        last_id = null;
    }
}

// Internet Explorer에서 셀렉트박스와 레이어가 겹칠시 레이어가 셀렉트 박스 뒤로 숨는 현상을 해결하는 함수
// 레이어가 셀렉트 박스를 침범하면 셀렉트 박스를 hidden 시킴
// <div id=LayerID style="display:none; position:absolute;" onpropertychange="selectBoxHidden('LayerID')">
function selectBoxHidden(layer_id) 
{
    //var ly = eval(layer_id);
    var ly = document.getElementById(layer_id);

    // 레이어 좌표
    var ly_left   = ly.offsetLeft;
    var ly_top    = ly.offsetTop;
    var ly_right  = ly.offsetLeft + ly.offsetWidth;
    var ly_bottom = ly.offsetTop + ly.offsetHeight;

    // 셀렉트박스의 좌표
    var el;

    for (i=0; i<document.forms.length; i++) {
        for (k=0; k<document.forms[i].length; k++) {
            el = document.forms[i].elements[k];    
            if (el.type == "select-one") {
                var el_left = el_top = 0;
                var obj = el;
                if (obj.offsetParent) {
                    while (obj.offsetParent) {
                        el_left += obj.offsetLeft;
                        el_top  += obj.offsetTop;
                        obj = obj.offsetParent;
                    }
                }
                el_left   += el.clientLeft;
                el_top    += el.clientTop;
                el_right  = el_left + el.clientWidth;
                el_bottom = el_top + el.clientHeight;

                // 좌표를 따져 레이어가 셀렉트 박스를 침범했으면 셀렉트 박스를 hidden 시킴
                if ( (el_left >= ly_left && el_top >= ly_top && el_left <= ly_right && el_top <= ly_bottom) || 
                (el_right >= ly_left && el_right <= ly_right && el_top >= ly_top && el_top <= ly_bottom) ||
                (el_left >= ly_left && el_bottom >= ly_top && el_right <= ly_right && el_bottom <= ly_bottom) ||
                (el_left >= ly_left && el_left <= ly_right && el_bottom >= ly_top && el_bottom <= ly_bottom) ||
                (el_top <= ly_bottom && el_left <= ly_left && el_right >= ly_right)
                )
                el.style.visibility = 'hidden';
            }
        }
    }
}
function selectBoxVisible() 
{
    for (i=0; i<document.forms.length; i++) 
    {
        for (k=0; k<document.forms[i].length; k++) 
        {
            el = document.forms[i].elements[k];    
            if (el.type == "select-one" && el.style.visibility == 'hidden')
            el.style.visibility = 'visible';
        }
    }
}

var help_is_ie     = navigator.userAgent.toLowerCase().indexOf("msie") != -1;
if (!help_is_ie) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
var prevdiv = null;
var timerID = null;

function getMouseXY(e) 
{
    if (help_is_ie) { // grab the x-y pos.s if browser is IE
        tempX = event.clientX + document.body.scrollLeft;
        tempY = event.clientY + document.body.scrollTop;
    } else {  // grab the x-y pos.s if browser is NS
        tempX = e.pageX;
        tempY = e.pageY;
    }  

    if (tempX < 0) {tempX = 0;}
    if (tempY < 0) {tempY = 0;}  

    return true;
}

function help(id, left, top)
{
    menu(id);

    var el_id = document.getElementById(id);

    //submenu = eval(name+".style");
    submenu = el_id.style;
    submenu.left = tempX - 50 + left;
    submenu.top  = tempY + 15 + top;

    selectBoxVisible();

    if (el_id.style.display != 'none')
    selectBoxHidden(id);
}
</script>
</head>
 
<body>
도움말1<img src="https://happyjung.diskn.com/data/lecture/icon_help.gif" alt="풍선도움말" align="absmiddle" onclick="help('help1', 0, 0);" style="cursor:hand;">
<div id="help1" style="position:absolute; display:none; z-index:9999;">
    <div id="csshelp1">
        <div id="csshelp2">
            <div id="csshelp3">도움말1 내용입니다.</div>
        </div>
    </div>
</div>
 
도움말2 <img src="https://happyjung.diskn.com/data/lecture/icon_help.gif" alt="풍선도움말" align="absmiddle" onclick="help('help2', 0, 0);" style="cursor:hand;">
<div id="help2" style="position:absolute; display:none; z-index:9999;">
    <div id="csshelp1">
        <div id="csshelp2">
            <div id="csshelp3">도움말2 내용입니다.</div>
        </div>
    </div>
</div>
</body>
</html>


참고자료
그누보드

댓글목록

등록된 댓글이 없습니다.


Total 152건 4 페이지
  • RSS
기술자료 목록
92
JavaScript   18134  2013-01-14 20:23  
91
JavaScript   20401  2012-12-22 22:47  
90
JavaScript   15715  2012-10-30 08:25  
89
JavaScript   29602  2012-10-17 21:33 ~ 2018-07-04 15:57  
88
JavaScript   15481  2012-10-08 21:15  
87
JavaScript   34298  2012-10-08 19:47  
86
JavaScript   37544  2012-10-04 13:49  
85
JavaScript   15251  2012-09-18 05:44 ~ 2013-07-02 00:00  
84
JavaScript   28932  2012-09-07 19:33 ~ 2017-12-01 14:36  
83
JavaScript   21649  2012-08-23 01:18  
82
JavaScript   20714  2012-06-23 23:47  
81
JavaScript   15434  2012-06-23 23:45  
80
JavaScript   35725  2012-06-21 05:20 ~ 2022-11-18 13:06  
79
JavaScript   27120  2012-06-05 00:48  
78
JavaScript   30412  2012-05-26 01:23 ~ 2020-04-08 09:26  
77
JavaScript   31210  2012-05-24 03:56  
열람
JavaScript   16775  2012-05-15 01:04 ~ 2022-01-30 23:52  
75
JavaScript   15357  2012-05-10 21:08  
74
JavaScript   18979  2012-05-06 23:58  
73
JavaScript   27733  2012-05-06 23:23  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.