퀵메뉴 관련소스 중에 비교적 간단해서 자주 애용하는 소스입니다. (중복일지도;;)
근데 아쉽게도 파폭에선 안되네요... 그동안 잘 안 쓴 이유도 그때문인데 그럼에도 불구하고 오늘 어떤 사이트에 적용했다가 (찾아보니 다른건 거의 플래시용이라) 팁으로도 올립니다.

그누에 적용하시려면 아래 소스를 따로 /g4/js/qmenu.js 등의 이름으로 저장한 다음
head.sub.php에서

<script language="javascript" src="<?=$g4['path']?>/js/common.js"></script>
<script language="javascript" src="<?=$g4['path']?>/js/ajax.js"></script>
<script language="javascript" src="<?=$g4['path']?>/js/qmenu.js"></script>
<body topmargin="0" leftmargin="0" <?=isset($g4['body_script']) ? $g4['body_script'] : "";?>>
<a name="g4_head"></a>

이런 식으로 추가해주면 됩니다.


///////////////여기부터 퀵메뉴 소스
document.write('<div id=floater style=\"position:absolute; left:1000px; top:300px; z-index:100;\">');
document.write('<a href=\"#g4_head\" onfocus="this.blur()">Top</a><br>');
document.write('<a href=\"javascript:history.go(-1)\" onfocus="this.blur()">Back</a></div>');

self.onError=null;
currentX = currentY = 0; 
whichIt = null;         
lastScrollX = 0; lastScrollY = 0;
NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1: 0;
<!-- STALKER CODE -->
function heartBeat() {
if(IE) {
  diffY = document.body.scrollTop;
    diffX = 0;
      }
    if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }
if(diffY != lastScrollY) {
                percent = .1 * (diffY - lastScrollY);
                if(percent > 0) percent = Math.ceil(percent);
                else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelTop += percent;
if(NS) document.floater.top += percent;
                lastScrollY = lastScrollY + percent;
    }
if(diffX != lastScrollX) {
percent = .1 * (diffX - lastScrollX);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelLeft += percent;
if(NS) document.floater.top += percent;
lastScrollY = lastScrollY + percent;
}
}
if(NS || IE) action = window.setInterval("heartBeat()",1);
////////////여기까지
2007/11/22 15:16 2007/11/22 15:16
//링크클릭시 나타나는 점선 없애주기
function autoblur() {
        if(event.srcElement.tagName == "A") document.body.focus();
}
document.onfocusin = autoblur;


g4/js/common.js 맨아래에  위의 내용을 추가해줍니다.
(익스플로러에서만 되내요)
2007/11/22 15:15 2007/11/22 15:15
프레임을 쓰실때 생각할 것 세가지
1. frame_name.location = 'url.php';
또는 frame_name.location.href = 'url.php';
또는 frame_name.location.replace('url.php')
2. parent.frame_name.location = 'url.php';
3. opener.parent.frame_name.location = 'url.php';

새창을 열게해준 창의 주소를 바꾸고 새창을 끈다.
<script>
opener.location.href = 'url.php';
self.close();
</script>

새창을 열게해준 창의 주소를 새로고침하고 새창을 끈다
<script>
opener.location.reload();
self.close();
</script>

다른 프래임의 주소를 바꾸게 하려면
<script>
frame_name.location.href = 'url.php';
</script>

프래임 구조상 상위 프래임의 주소를 바꾸게 하려면
<script>
parent.location.href = 'url.php';
</script>

타겟이 지정된 프레임을 바꾼다.(타겟하나)
<script>
parent.target(타겟).location.href = 'url.php';
</script>

타겟이 지정된 프레임을 바꾼다.(타겟둘)
<script>
parent.target1(타겟1).location.href = 'url1.php';
parent.target2(타겟2).location.href = 'url2.php';
</script>

타겟이 지정된 프레임을 바꾼다.(타겟셋)
<script>
parent.target1(타겟1).location.href = 'url1.php';
parent.target2(타겟2).location.href = 'url2.php';
parent.target3(타겟3).location.href = 'url3.php';
</script>

타겟이 지정된 프레임두개를 클릭으로 바꾸려면
<script>
function target_frame(url1, url2)
{
parent.top_frame.location.href = url1;
parent.main_frame.location.href = url2;
}
</script>
<a href="javascript:target_frame('main_menu.html', '$go_url');"> 확인 </a>

로그인페이지 에선
<script>
parent.top_frame.location.href = '../main.html'; //main.html는 로그인페이지 보다 상위디렉토리에 있다.
parent.main_frame.location.href = '$go_url';
</script>

로그인페이지를 새창으로 띄웠다면
<script>
opener.parent.top_frame.location.href = '../main.html';
opener.parent.main_frame.location.href = '$go_url';
self.close();
</script>


[펌] http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=5317&sfl=&stx=&sst=wr_hit&sod=desc&sop=and&page=36
2007/11/22 15:15 2007/11/22 15:15
<img src="xxx.jpg" onclick=how_size(this) title=이미지크기는얼마일까요 style=cursor:pointer>
<script language=javascript>
function get_image_size(id) {
    img = document.body.appendChild(document.createElement('img'))
    img.src = id.src;
    var w = img.offsetWidth;
    var h = img.offsetHeight;
    document.body.removeChild(img);
    return {width:w,height:h};
}
function how_size(img) {
    var size = get_image_size(img);
    alert('width:'+size.width+',height:'+size.height);
}
</script>
2007/11/22 15:15 2007/11/22 15:15
<div>- <a href="sub_4_1.php" target="youknow">개요</a></div>  <-- 링크

<iframe src="sub_4_1.php" frameborder="0"  width="620" name="youknow" scrolling="no"></iframe> <--iframe name 설정


불러올 페이지

<script>
function initsize() {
self.resizeTo(document.body.scrollWidth, document.body.scrollHeight);
}
</script>
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"  onLoad="initsize();">

설정

-----------------------------------------------------------------------------------


수정~
<script>
function initsize() {
self.resizeTo(document.body.scrollWidth , document.body.scrollHeight + 10);
}
</script>
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"  onLoad="initsize();">
2007/11/22 15:14 2007/11/22 15:14
설명서 부분
------------------------------
네이버 사이트에 접속하겠끔 팝업창을 띄우는 예제입니다.
아래에서  너비 700에 높이 600을 주고 팝업창을 띄우죠. 그중 스크룰바를 지우려고 한다고 합시다. 스크룰바 지우시려면 no를 넣으면 되죠.
반대로 스크룰바 있게 하려면 yes를 넣어주세요.
<a href="javascript:show_url('http://www.naver.com','700','600','no');">링크걸 제목</a>
 
상세설명부분
 
일딴 그누보드이용하신다면 common.js 파일에 맞춤한 위치에 소스를 삽입해주세요.
삽입할 소스는 아래와 같습니다.
function show_url(url,width,height,scrollbars) {
    newWin = window.open(""+url+"","show","width="+width+",height="+height+",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars="+scrollbars+",resizable=no");
}
 
여기 까지입니다.
 
<a href="javascript:show_url('연결주소','너비','높이','스크룰바');">링크걸 제목</a>
 
 
완성품 -------------
 
<script language="javascript" src="<?=$g4[path]?>/js/common.js"></script>
 
<a href="javascript:show_url('http://www.naver.com','700','600','no');">링크걸 제목</a>
2007/11/22 15:13 2007/11/22 15:13

javascript의 window.print()는 인쇄창(프린터 선택하는 화면)을 여는 기능외에 다른 커스터마이징이 불가능합니다.  인쇄를 하지 않고, 창을 닫았을 때, 처리 방법이 있으면 좋은데..


activeX로 해야할 것 같습니다. activeX로는 scriptX를 이용해 볼만 한데... advanced 기능은 유료로 구매한 경우에만 가능해서 그렇게 추천할 수는 없군요..


다만, scriptX의 기본 기능(무료)중에, 인쇄창을 열었는데... 고객이 인쇄를 하지 않고, 인쇄창을 닫아버리면 return value로 false를 돌려주는 기능이 있습니다.


페이지에서 인쇄창을 열고, 만약 return값이 false면 "인쇄안함"으로 다시 처리하고, true이면 "인쇄됨" 처리하면 100%는 아니지만, 근접한 결과를 얻을 수 있을 것입니다. (각종 프린터 오류가 있어 프린트가 안된 경우는 print에서 결과값을 return 받아야 하는데.. 그러려면, 유료기능을 사용해야 할 듯합니다)


아래에서는  printresult.asp?result=0(실패시) printresult.asp?result=1(성공시)로 처리했는데, 이를 통한 db 작업은 잘 알아서 하시면 되겠습니다..


참고로 scriptx의 기본기능(무료)를 이용하면 프린트 결과물의 header footer 위/아래/좌/우 여백 가로/세로출력 등을 설정할 수 있습니다.


참고 소스는


<OBJECT id="factory" style="DISPLAY: none"
   codeBase="http://www.meadroid.com/scriptx/smsx.cab#Version=6,2,433,14"
   classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" viewastext>
   </OBJECT>
<script>
function printPage(){
 factory.printing.header = "";   //머릿말 설정
 factory.printing.footer = "";    //꼬릿말 설정
 factory.printing.portrait = true;  //출력방향 설정: true-가로, false-세로
 factory.printing.leftMargin = 1.0;  //왼쪽 여백 설정
 factory.printing.topMargin = 1.0;  //위쪽 여백 설정
 factory.printing.rightMargin = 1.0;  //오른쪽 여백 설정
 factory.printing.bottomMargin = 1.0;  //아래쪽 여백 설정
 a = factory.printing.Print(true);   //출력하기
 if (!a) {
 window.location.href="printresult.asp?result=0" // 인쇄없이 닫은 경우 처리url  get방식
 }
 else {
 window.location.href="printresult.asp?result=1" // 인쇄한 경우 처리url  get방식
 }

 }
</script>
<body onload="printPage();">

인쇄할 내용

</body>

2007/11/22 14:58 2007/11/22 14:58

출처 http://webarty.com

<head>
<script language="javascript">
function check_ip(ipval){
    document.isp_form.action='http://whois.nic.or.kr/result.php';
    document.isp_form.method='post';
    document.isp_form.target='_blank';
    document.isp_form.domain_name.value = ipval;
    document.isp_form.submit();
    document.isp_form.action='';
    document.isp_form.method='';
    document.isp_form.target='';
}
</script>
</head>

<body>
<form name="isp_form"><input type=hidden name="domain_name" value=""></form>

<a href='javascript:void(0)' OnClick="check_ip('아이피주소')">아이피주소</a>
</body>



Post로 ip 값을 넘겨줘야함..

Get방식은 안먹음.

출처 http://webarty.com

2007/11/14 16:56 2007/11/14 16:56
출처 http://webarty.com

틈틈이 만든 ScriptHelp 파일 입니다.

옆에 끼고 개발 하시면 편하실 꺼에요..

그럼..

출처 http://webarty.com
2007/10/05 19:02 2007/10/05 19:02
http://webarty.com

게시판 맹글면서 갤러리에 이미지 슬라이드 쇼 기능 넣을려고 괜찮은거 없나~

하고 자바스크립트 열라 찾아봐도 없어서 걍 맹글었습니다 -_-;

대충 테스트 해보니 별 문제 없이 잘 돌아가는 것 같아서 올립니다.


기능 : 자동실행, 정지, 이전 슬라이드, 다음 슬라이드, 재생시간 설정

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> Creative Enboard Community by sOOnsOO </title>
<meta name="generator" content="editplus" />
<meta name="author" content="순수(soonsoo@gmail.com)" />
<meta name="keywords" content="" />
<meta name="description" content="" />

<style type="text/css">
    body { background: #333; }
    hand { cursor: pointer; }
</style>

<script type="text/javascript">
<!--

    document.onreadystatechange = fnStartInit;
    function fnStartInit() {
        if(document.readyState=='complete') {
            if(document.getElementById('gLoadingDiv')) {
                document.getElementById('gLoadingDiv').style.display = 'none';
                setTimeout("_SlideShow()", 100);
            }
        }
    }

    // 슬라이드 할 포토 배열
    var photo = new Array();
    photo[0] = "이미지경로|가로사이즈|세로사이즈";
    photo[1] = "이미지경로|가로사이즈|세로사이즈";
    photo[2] = "이미지경로|가로사이즈|세로사이즈";
    photo[3] = "이미지경로|가로사이즈|세로사이즈";
    photo[4] = "이미지경로|가로사이즈|세로사이즈";
    photo[5] = "이미지경로|가로사이즈|세로사이즈";

    var nowSlide        =    -1;            // 현재 슬라이드 되는 포토번호
    var slideTime;                        //    슬라이드 타임

    function _SlideShow() {
        if(document.getElementById("isSlideShow").value == "PLAY") {
            slideTime = document.getElementById("SHoWTiMe").value * 1000;
            nowSlide    =    (nowSlide == photo.length - 1) ? 0 : ++nowSlide;
            var pSlide = photo[nowSlide].split("|");
            document.getElementById("SlideShowZone").innerHTML = "<img src=\""+pSlide[0]+"\" width=\""+pSlide[1]+"\" height=\""+pSlide[2]+"\" style=\"border: 5px solid #F63;\">";
            setTimeout("_SlideShow()", slideTime);
        } else {
            clearTimeout("_SlideShow()", 0);
        }
    }

    function _NextSlide() {
        // 자동설정 중이라면 중지로 재설정 하자!
        if(document.getElementById("isSlideShow").value == "PLAY")    document.getElementById("isSlideShow").value = "STOP";
        nowSlide = nowSlide + 1;
        nowSlide    =    (nowSlide == photo.length) ? 0 : nowSlide;var pSlide = photo[nowSlide].split("|");
        document.getElementById("SlideShowZone").innerHTML = "<img src=\""+pSlide[0]+"\" width=\""+pSlide[1]+"\" height=\""+pSlide[2]+"\" style=\"border: 5px solid #F63;\">";
    }

    function _PrevSlide() {
        // 자동설정 중이라면 중지로 재설정 하자!
        if(document.getElementById("isSlideShow").value == "PLAY")    document.getElementById("isSlideShow").value = "STOP";
        nowSlide = nowSlide - 1;
        nowSlide    =    (nowSlide == -1) ? photo.length - 1 : nowSlide;
        var pSlide = photo[nowSlide].split("|");
        document.getElementById("SlideShowZone").innerHTML = "<img src=\""+pSlide[0]+"\" width=\""+pSlide[1]+"\" height=\""+pSlide[2]+"\" style=\"border: 5px solid #F63;\">";
    }

    // 재생시간 설정
    function pmTime(type) {
        if(type == "+") {
            if(document.getElementById("showTime").value < 10) {
                document.getElementById("showTime").value = parseInt(document.getElementById("showTime").value) + 1;
                document.getElementById("printShowTime").innerHTML = document.getElementById("showTime").value;
            } else {
                return false;
            }
        } else {
            if(document.getElementById("showTime").value > 1) {
                document.getElementById("showTime").value = parseInt(document.getElementById("showTime").value) - 1;
                document.getElementById("printShowTime").innerHTML = document.getElementById("showTime").value;
            } else {
                return false;
            }
        }
    }

    // 시작, 정지 세팅
    function gSetSlide(val) {
        // 세팅되어 있는 값과 동일한 값이라면 다시 세팅하지 않는다.
        if(val != document.getElementById("isSlideShow").value) {
            document.getElementById("isSlideShow").value = val;
            _SlideShow();
        } else {
            return false;
        }
    }

//-->
</script>

</head>

<body>

<div id="gLoadingDiv" style="display: ; position: absolute; left:0px; top:0px; width:100%; height:100%; z-index:9999; background-color: #eee; filter:alpha(opacity:50)">
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
    <tr>
        <td align="center">
            <table width="300" height="50" cellpadding="0" cellspacing="0" border="0">
                <tr>
                    <td height="50" align="center"><img src="../__enImages__/icon.processing.gif" border="0"></td>
                </tr>
            </table>
        </td>
    </tr>
</table>
</div>

<table width="850" height="100%" cellpadding="0" cellspacing="0" border="0">
    <tr>
        <td width="700" height="600" align="center"><span id="SlideShowZone"></span></td>
        <td width="1" height="100%" style="background-color: #666;"></td>
        <td height="100%" align="center" valign="top" style="background-color: #222;">
            <table width="100%" height="600" cellpadding="0" cellspacing="0" border="0">
                <tr>
                    <td height="8"></td>
                </tr>
                <tr>
                    <td height="20"><span style="font-size: 12px; color: #F63; font-weight: bold;">::: EnSlider ::::::::::</span></td>
                </tr>
                <tr>
                    <td height="5"></td>
                </tr>
                <tr>
                    <td>
                        <!-- 이미지 보일 시간 -->
                        <input type="hidden" id="isSlideShow" value="PLAY">
                        <input type="hidden" id="SHoWTiMe" value="1">
                        <table cellpadding="3" cellspacing="0" border="0">
                            <tr>
                                <td><span style="font-size: 11px; color: #F63;">슬라이드 시간</span> <span style="font-size: 11px; color: #F63;" id="printShowTime">1</span><span style="font-size: 11px; color: #F63;">초</span>
                                </td>
                                <td><img src="../__enImages__/sbtn.plus.gif" onClick="pmTime('+');" class="hand"></td>
                                <td><img src="../__enImages__/sbtn.minus.gif" onClick="pmTime('-');" class="hand"></td>
                            </tr>
                        </table>
                    </td>
                </tr>
                <tr>
                    <td height="5"></td>
                </tr>
                <tr>
                    <td height="20" align="center">
                        <table cellpadding="2" cellspacing="0" border="0">
                            <tr>
                                <td><img src="../__enImages__/icon.minus.gif" class="hand" onClick="_PrevSlide();"></td>
                                <td><img src="../__enImages__/icon.nnext.gif" class="hand" onClick="gSetSlide('PLAY');"></td>
                                <td><img src="../__enImages__/icon.stop.gif" class="hand" onClick="gSetSlide('STOP');"></td>
                                <td><img src="../__enImages__/icon.plus.gif" class="hand" onClick="_NextSlide();"></td>
                            </tr>
                        </table>
                    </td>
                </tr>
                <tr>
                    <td height="5"></td>
                </tr>
                <tr>
                    <td height="450"> </td>
                </tr>
                <tr>
                    <td align="center" valign="bottom"><input type="image" src="../__enImages__/btn.close.gif" onClick="window.close();"></td>
                </tr>
                <tr>
                    <td height="10"></td>
                </tr>
            </table>
        </td>
    </tr>
</table>

</body>
</html>
2007/10/01 14:22 2007/10/01 14:22