웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
가로 세로가 호환되는 메뉴
2005.03.02 14:02
해피스크립트에서 퍼온 글 입니다.
<BODY>
<script language="javascript">
<!--
/////////////////////////////////////////////
// :*: Happyscript :*: //
// 소스 : http://www.happyscript.net //
// 편집 and 소스 설명 : Magic //
// E-mail : happyscript@hanmail.net //
/////////////////////////////////////////////
// <body>와 </body>사이에 넣어주세요..
function Go(){return}
// 주석이 없는 라인은 주석 붙인이도 모름 --;; 아시는 분 주석 붙여주세요.
var NoOffFirstLineMenus=5; // 아래 메뉴 갯수 (메인에서 맨첨 눈에 보이는 테이블 수로 이해하면 빠를듯)
// 여기서는 Menu1,Menu2,Menu3,Menu4,Menu5 이므로 5개
// Menu2_2는 메뉴갯수에 포함되지 않는다. 2번 메뉴의 보조이기 때문에
var LowBgColor='#F2F2F2'; // 메뉴 배경색
var HighBgColor='#dfdfff'; // 메뉴에 마우스 올렸을때 색
var FontLowColor='black'; // 메뉴 글자색
var FontHighColor='black'; // 메뉴 글자에 마우스 올렸을때 색
var BorderColor='black'; // 메뉴 테두리 색
var BorderWidth=1; // 겉 테두리 설정 (0 : 없음 , 1 : 있음)
var BorderBtwnElmnts=1; // 테두리안 가로선 세로선 설정 (0 : 없음 , 1 : 있음)
var FontFamily="굴림체" // 글자체 (여러개 설정시는 ,로 구분)
var FontSize=9; // 글자 크기
var FontBold=1; // 글자 굵기 설정 (0 : 없음 , 1 : 있음)
var FontItalic=0; // 글자 기울임 설정 (0 : 없음 , 1 : 있음)
var MenuTextCentered=0; // 글자 중간 배치 (0 : 없음 , 1 : 있음)
var MenuCentered='left'; // 전체 메뉴 위치 (좌, 중앙, 우)
var MenuVerticalCentered='top'; // 전체 메뉴 위치 (상, 하)
var ChildOverlap=.0; // 하위메뉴 정렬 - 좌 우 (0 : 겹침 , 1 : 안겹침)
var ChildVerticalOverlap=.0; // 하위메뉴 정렬 - 상 하 (0 : 겹침 , 1 : 안겹침)
var StartTop=0; // 브라우저와 위쪽 공간 설정 (0 : 없음 , 1 : 있음)
var StartLeft=0; // 브라우저와 왼쪽 공간 설정 - (0 : 없음 , 1 : 있음)
var VerCorrect=0;
var HorCorrect=0;
var LeftPaddng=3; // 테이블 왼쪽 라인과 글자사이 공간 설정
var TopPaddng=2; // 테이블 위쪽 라인과 글자사이 공간 설정
var FirstLineHorizontal=1; // 메뉴 정렬 방법 (0 : 세로 , 1 : 가로)
var MenuFramesVertical=0;
var DissapearDelay=500;
var TakeOverBgColor=1;
var FirstLineFrame='navig';
var SecLineFrame='space';
var DocTargetFrame='space';
var WebMasterCheck=0;
// 메뉴 설정 부분 (이해하기 쉬움 ^^)
// 화살표는 가로용으로 되어었습니다. 세로용에서는 화살표가 맞지 않으니 수정하신 후 사용하세요.
// 화살표가 있는 부분은 마우스를 올리면 하위 메뉴를 나타내는 부분이다
// 그래서 경로 적는 부분을 #으로 해줘야 한다
// #으로 해주지 않고 경로를 적어도 되지만 그 부분을 누르면 적힌 경로대로 연결이 되어 버린다.
// ("메뉴명","경로",하위메뉴 갯수,메뉴 세로크기,메뉴 가로크기)
Menu1=new Array("Home","http://www.happyscript.net",0,20,150);
Menu2=new Array("Menu 01 (▼)","#",2);
Menu2_1=new Array("Menu 01-1 (▶)","#",5,20,150);
Menu2_1_1=new Array("Menu 01-1-1","#",0,20,150);
Menu2_1_2=new Array("Menu 01-1-2","#",0);
Menu2_1_3=new Array("Menu 01-1-3","#",0);
Menu2_1_4=new Array("Menu 01-1-4","#",0);
Menu2_1_5=new Array("Menu 01-1-5 (▶)","#",2);
Menu2_1_5_1=new Array("Menu 01-1-1-1","#",0,20,150);
Menu2_1_5_2=new Array("Menu 01-1-1-2","#",0);
Menu2_2=new Array("Menu 01-2 (▶)","#",3);
Menu2_2_1=new Array("Menu 01-2-1","#",0,20,150);
Menu2_2_2=new Array("Menu 01-2-2 (▶)","#",6);
Menu2_2_2_1=new Array("Menu 01-2-2-1","#",0,20,150);
Menu2_2_2_2=new Array("Menu 01-2-2-2","#",0);
Menu2_2_2_3=new Array("Menu 01-2-2-3","#",0);
Menu2_2_2_4=new Array("Menu 01-2-2-4","#",0);
Menu2_2_2_5=new Array("Menu 01-2-2-5","#",0);
Menu2_2_2_6=new Array("Menu 01-2-2-6","#",0);
Menu2_2_3=new Array("Menu 01-2-3","#",0);
Menu3=new Array("Menu 02 (▼)","#",3);
Menu3_1=new Array("Menu 02-1 (▶)","#",1,20,150);
Menu3_1_1=new Array("Menu 02-1-1","#",0,20,150);
Menu3_2=new Array("Menu 02-2","#",0);
Menu3_3=new Array("Menu 02-3 (▶)","#",9);
Menu3_3_1=new Array("Menu 02-3-1","#",0,20,150);
Menu3_3_2=new Array("Menu 02-3-2","#",0);
Menu3_3_3=new Array("Menu 02-3-3","#",0);
Menu3_3_4=new Array("Menu 02-3-4","#",0);
Menu3_3_5=new Array("Menu 02-3-5","#",0);
Menu3_3_6=new Array("Menu 02-3-6","#",0);
Menu3_3_7=new Array("Menu 02-3-7","#",0);
Menu3_3_8=new Array("Menu 02-3-8","#",0);
Menu3_3_9=new Array("Menu 02-3-9","#",0);
Menu4=new Array("Menu 03 (▼)","#",4);
Menu4_1=new Array("Menu 03-1","#",0,20,150);
Menu4_2=new Array("Menu 03-2","#",0);
Menu4_3=new Array("Menu 03-3","#",0);
Menu4_4=new Array("Menu 03-4","#",0);
Menu5=new Array("Help (▼)","#",1);
Menu5_1=new Array("E-mail","mailto:happyscript@hanmail.net",0,20,150);
// 소스 수정 불가 부분..
var AgntUsr=navigator.userAgent.toLowerCase();
var DomYes=(document.getElementById)?1:0;
var NavYes=(AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1)?1:0;
var ExpYes=(AgntUsr.indexOf('msie')!=-1)?1:0;
var Opr5=(AgntUsr.indexOf('opera 5')!=-1||AgntUsr.indexOf('opera/5')!=-1)?1:0;
var DomNav=(DomYes&&NavYes)?1:0;
var DomExp=(DomYes&&ExpYes)?1:0;
var Nav4=(NavYes&&!DomYes&&document.layers)?1:0;
var Exp4=(ExpYes&&!DomYes&&document.all)?1:0;
var PosStrt=((NavYes||ExpYes)&&!Opr5)?1:0;
if(AgntUsr.indexOf('mac')!=-1&&DomExp){DomExp=0;Exp4=1}
var FirstLocation,SecLocation,DocLocation;
var SecWindowWidth,FirstWindowWidth,FirstWindowHeight;
var SecLoadAgainWin;
var FirstColPos,SecColPos,DocColPos;
var InitRecursLevel=0,CreateRecursLevel=0,PosRecursLevel=0;
var ShowFlag=0,FirstCreate=1,Loaded=0,Created=0,InitFlag,AcrossFrames=1;
var FirstContainer=null,CurrentOver=null,CloseTimer=null;
var CenterText,TxtClose,ImgStr;
var Ztop=100;
var M_StartTop=StartTop,M_StartLeft=StartLeft;
var LeftExtra=(DomNav)?LeftPaddng:0;
var TopExtra=(DomNav)?TopPaddng:0;
var M_Hide=(Nav4)?'hide':'hidden';
var M_Show=(Nav4)?'show':'visible';
var Par=(parent.frames[0])?parent:window;
var Doc=Par.document;
var Bod=Doc.body;
var Trigger=(NavYes||Opr5)?Par:Bod;
WebMasterAlerts=["No such frame: ","Item not defined: ","Item needs height: ","Item needs width: ","Warning-Item doesn't need height: ","Warning-Item doesn't need width: ","Item Oke ","Menu tree oke"];
if(DomNav&&!Opr5)Trigger.addEventListener('load',Go,false);
else Trigger.onload=Go;
Trigger.onresize=(Nav4)?ReDoWhole:RePos;
function cancelselect(){return false}
function RePos(){
FirstWindowWidth=(ExpYes)?FirstLocation.document.body.clientWidth:FirstLocation.innerWidth;
FirstWindowHeight=(ExpYes)?FirstLocation.document.body.clientHeight:FirstLocation.innerHeight;
SecWindowWidth=(ExpYes)?SecLocation.document.body.clientWidth:SecLocation.innerWidth;
SecWindowHeight=(ExpYes)?SecLocation.document.body.clientHeight:SecLocation.innerHeight;
if(MenuCentered)CalcLeft();
if(MenuVerticalCentered)CalcTop();
PositionMenuStruct(FirstContainer,StartTop,StartLeft)}
function UnLoaded(){
if(CloseTimer)clearTimeout(CloseTimer);Loaded=0; Created=0;
var FCStyle=(Nav4)?FirstContainer:FirstContainer.style;
FCStyle.visibility=M_Hide}
function ReDoWhole(){
Doc.location.reload()}
function Check(WhichMenu,NoOf){
var i,Hg,Wd,La,Li,Nof,array,ArrayLoc=parent.frames[FirstLineFrame];
for(i=0;i<NoOf;i++){
array=WhichMenu+eval(i+1);
if(!ArrayLoc[array]){WebMasterAlert(1,array); return false}
La=ArrayLoc[array][0]; Li=ArrayLoc[array][1]; Nof=ArrayLoc[array][2];
if(i==0){ if(!ArrayLoc[array][3]){WebMasterAlert(2,array); return false}
if(!ArrayLoc[array][4]){WebMasterAlert(3,array); return false}
Hg=ArrayLoc[array][3]; Wd=ArrayLoc[array][4]}
else{ if(ArrayLoc[array][3])WebMasterAlert(4,array);
if(ArrayLoc[array][4])WebMasterAlert(5,array)}
if(!WebMasterAlert(6,'nn'+array+'nwidth: '+Wd+'nheight: '+Hg+'nLabel: '+La+'nLink: '+Li+'nNo of sub items: '+Nof)){WebMasterCheck=0; return true}
if(ArrayLoc[array][2])if(!Check(array+'_',ArrayLoc[array][2])) return false}
return true}
function WebMasterAlert(No,Xtra){
if(WebMasterCheck)return confirm(WebMasterAlerts[No]+Xtra+' ')}
function Go(){
if(Loaded||!PosStrt)return;
Created=0; Loaded=1;
status='Loading Menu...';
if(FirstCreate){
if(!parent.frames[FirstLineFrame]){WebMasterAlert(0,FirstLineFrame); FirstLineFrame=SecLineFrame}
if(!parent.frames[FirstLineFrame]){WebMasterAlert(0,SecLineFrame); FirstLineFrame=SecLineFrame=DocTargetFrame}
if(!parent.frames[FirstLineFrame]){WebMasterAlert(0,DocTargetFrame); FirstLineFrame=SecLineFrame=DocTargetFrame=(parent.frames[0])?parent.frames[0].name:''}
if(!parent.frames[SecLineFrame]){WebMasterAlert(0,SecLineFrame);SecLineFrame=DocTargetFrame}
if(!parent.frames[SecLineFrame]){WebMasterAlert(0,DocTargetFrame);SecLineFrame=DocTargetFrame=FirstLineFrame}
if(!parent.frames[DocTargetFrame]){WebMasterAlert(0,DocTargetFrame);DocTargetFrame=SecLineFrame}
if(WebMasterCheck){if(!Check('Menu',NoOffFirstLineMenus))return;else WebMasterAlert(7,'')}
FirstLocation=(FirstLineFrame)?parent.frames[FirstLineFrame]:window;
SecLocation=(SecLineFrame)?parent.frames[SecLineFrame]:window;
DocLocation=(DocTargetFrame)?parent.frames[DocTargetFrame]:window;
if (FirstLocation==SecLocation) AcrossFrames=0;
if (AcrossFrames)FirstLineHorizontal=(MenuFramesVertical)?0:1;
FirstWindowWidth=(ExpYes)?FirstLocation.document.body.clientWidth:FirstLocation.innerWidth;
FirstWindowHeight=(ExpYes)?FirstLocation.document.body.clientHeight:FirstLocation.innerHeight;
SecWindowWidth=(ExpYes)?SecLocation.document.body.clientWidth:SecLocation.innerWidth;
SecWindowHeight=(ExpYes)?SecLocation.document.body.clientHeight:SecLocation.innerHeight;
if(MenuCentered) CalcLeft();
if(MenuVerticalCentered) CalcTop();
if(!DomYes){CenterText=(MenuTextCentered)?(NavYes)?"<div align='center'>":"align='center'":"";
if(NavYes)TxtClose="</font>"+(MenuTextCentered)?"</div>":""}}
FirstColPos=(Nav4)?FirstLocation.document:FirstLocation.document.body;
SecColPos=(Nav4)?SecLocation.document:SecLocation.document.body;
DocColPos=(Nav4)?DocLocation.document:SecLocation.document.body;
if (TakeOverBgColor)FirstColPos.bgColor=(AcrossFrames)?SecColPos.bgColor:DocColPos.bgColor;
if(FirstCreate){FirstContainer=CreateMenuStructure('Menu',NoOffFirstLineMenus);FirstCreate=0}
else CreateMenuStructureAgain('Menu',NoOffFirstLineMenus);
PositionMenuStruct(FirstContainer,StartTop,StartLeft);
InitFlag=1; Initiate(); InitFlag=0; Created=1;
SecLoadAgainWin=(ExpYes)?SecLocation.document.body:SecLocation;
SecLoadAgainWin.onunload=UnLoaded;
//if(ExpYes){SecLocation.document.body.onselectstart=cancelselect;FirstLocation.document.body.onselectstart=cancelselect}
status='메뉴를 선택하세요. - http://www.happyscript.net'}
function CalcLeft(){
var Size=FirstWindowWidth;
if(MenuCentered!='left'){
StartLeft=M_StartLeft;
Size-=(FirstLineHorizontal)?(NoOffFirstLineMenus*(eval('Menu1[4]')+BorderWidth)+BorderWidth):(eval('Menu1[4]')+BorderWidth);
if(MenuCentered=='right')StartLeft+=Size; else StartLeft+=Size/2}}
function CalcTop(){
var Size=FirstWindowHeight;
if(MenuVerticalCentered!='top'){
StartTop=M_StartTop;
Size-=(FirstLineHorizontal)?(eval('Menu1[3]')+BorderWidth):(NoOffFirstLineMenus*(eval('Menu1[3]')+BorderWidth)+BorderWidth);
if(MenuVerticalCentered=='bottom')StartTop+=Size; else StartTop+=Size/2}}
function PositionMenuStruct(CntnrPntr,Tp,Lt){
var Topi,Lefti,Hori;
var Cntnr=CntnrPntr;
var Mmbr=Cntnr.FirstMember;
var CntnrStyle=(!Nav4)?Cntnr.style:Cntnr;
var MmbrStyle=(!Nav4)?Mmbr.style:Mmbr;
var PadLeft=(Mmbr.value.indexOf('<')==-1)?LeftExtra:0;
var PadTop=(Mmbr.value.indexOf('<')==-1)?TopExtra:0;
var MmbrWidth=(!Nav4)?parseInt(MmbrStyle.width)+PadLeft:MmbrStyle.clip.width;
var MmbrHeight=(!Nav4)?parseInt(MmbrStyle.height)+PadTop:MmbrStyle.clip.height;
var CntnrWidth=(!Nav4)?parseInt(CntnrStyle.width):CntnrStyle.clip.width;
var CntnrHeight=(!Nav4)?parseInt(CntnrStyle.height):CntnrStyle.clip.height;
var SubTp,SubLt;
PosRecursLevel++;
if (PosRecursLevel==1 && AcrossFrames)(!MenuFramesVertical)?Tp=FirstWindowHeight-CntnrHeight+((Nav4)?4:0):Lt=FirstWindowWidth-CntnrWidth;
if (PosRecursLevel==2 && AcrossFrames)(!MenuFramesVertical)?Tp=0:Lt=0;
if (PosRecursLevel==2 && AcrossFrames){Tp+=VerCorrect;Lt+=HorCorrect}
CntnrStyle.top=Cntnr.OrgTop=Tp;
CntnrStyle.left=Cntnr.OrgLeft=Lt;
if (PosRecursLevel==1 && FirstLineHorizontal){Hori=1; Lefti=CntnrWidth-MmbrWidth-2*BorderWidth;Topi=0}
else{Hori=Lefti=0; Topi=CntnrHeight-MmbrHeight-2*BorderWidth}
while(Mmbr!=null){
PadLeft=(Mmbr.value.indexOf('<')==-1)?LeftExtra:0;
PadTop=(Mmbr.value.indexOf('<')==-1)?TopExtra:0;
MmbrStyle=(!Nav4)?Mmbr.style:Mmbr;
MmbrWidth=(!Nav4)?parseInt(MmbrStyle.width)+PadLeft:MmbrStyle.clip.width;
MmbrHeight=(!Nav4)?parseInt(MmbrStyle.height)+PadTop:MmbrStyle.clip.height;
MmbrStyle=(!Nav4)?Mmbr.style:Mmbr;
MmbrStyle.left=Lefti+BorderWidth;
MmbrStyle.top=Topi+BorderWidth;
if(Nav4)Mmbr.CmdLyr.moveTo(Lefti+BorderWidth,Topi+BorderWidth);
if(Mmbr.ChildCntnr){
if(Hori){ SubTp=Tp+Topi+MmbrHeight+BorderWidth; SubLt=Lt+Lefti}
else{ SubLt=Lt+Lefti+(1-ChildOverlap)*MmbrWidth+BorderWidth; SubTp=Tp+Topi+ChildVerticalOverlap*MmbrHeight}
PositionMenuStruct(Mmbr.ChildCntnr,SubTp,SubLt)}
(Hori)?Lefti-=(BorderBtwnElmnts)?(MmbrWidth+BorderWidth):(MmbrWidth):Topi-=(BorderBtwnElmnts)?(MmbrHeight+BorderWidth):(MmbrHeight);
Mmbr=Mmbr.PrevMember}
PosRecursLevel--}
function Initiate(){
if(InitFlag) Init(FirstContainer)}
function Init(CntnrPntr){
var MemberContainer=CntnrPntr;
var Member=MemberContainer.FirstMember;
var MCStyle=(Nav4)?MemberContainer:MemberContainer.style;
InitRecursLevel++;
MCStyle.visibility=(InitRecursLevel==1)?M_Show:M_Hide;
while(Member!=null){
if(Member.ChildCntnr) Init(Member.ChildCntnr);
Member=Member.PrevMember}
InitRecursLevel--}
function ClearAllChilds(Pntr,ChldPntr){
var CPCCStyle;
while (Pntr){
if(Pntr.ChildCntnr){
CPCCStyle=(Nav4)?Pntr.ChildCntnr:Pntr.ChildCntnr.style;
if(Pntr.ChildCntnr!=ChldPntr)CPCCStyle.visibility=M_Hide;
ClearAllChilds(Pntr.ChildCntnr.FirstMember,ChldPntr)}
Pntr=Pntr.PrevMember}}
function GoTo(){
if(this.LinkTxt){
status='';
if(Nav4){ if(this.LowLyr.value.indexOf('<img')==-1){
this.LowLyr.bgColor=this.LowLyr.LowBack;
this.LowLyr.document.write(this.LowLyr.value);
this.LowLyr.document.close()}}
else{ this.style.backgroundColor=this.LowBack;
this.style.color=this.LowFontColor}
(this.LinkTxt.indexOf('javascript:')!=-1)?eval(this.LinkTxt):DocLocation.location.href=this.LinkTxt}}
function OpenMenu(){
if(!Loaded||!Created) return;
var TopScrolled=(AcrossFrames)?(ExpYes)?SecLocation.document.body.scrollTop:SecLocation.pageYOffset:0;
var LeftScrolled=(AcrossFrames)?(ExpYes)?SecLocation.document.body.scrollLeft:SecLocation.pageXOffset:0;
var ChildCont=(Nav4)?this.LowLyr.ChildCntnr:this.ChildCntnr;
var ThisHeight=(Nav4)?this.clip.height:parseInt(this.style.height);
var ThisWidth=(Nav4)?this.clip.width:parseInt(this.style.width);
CurrentOver=this; InitFlag=0;
if(ShowFlag){
ClearAllChilds(this.Container.FirstMember,ChildCont);
if(this.Level==1) ShowFlag=0}
if(Nav4){ if(this.LowLyr.value.indexOf('<img')==-1){
this.LowLyr.bgColor=this.LowLyr.HighBack;
this.LowLyr.document.write(this.LowLyr.Overvalue);
this.LowLyr.document.close()}}
else{ this.style.backgroundColor=this.HighBack;
this.style.color=this.HighFontColor}
if(ChildCont!=null) {
var ChildContWidth=(Nav4)?this.LowLyr.ChildCntnr.clip.width:parseInt(this.ChildCntnr.style.width);
var ChildContHeight=(Nav4)?this.LowLyr.ChildCntnr.clip.height:parseInt(this.ChildCntnr.style.height);
var ChCntTL=(Nav4)?this.LowLyr.ChildCntnr:this.ChildCntnr.style;
var SubLt=ChildCont.OrgLeft+LeftScrolled;
var SubTp=ChildCont.OrgTop+TopScrolled;
while(SubLt+ChildContWidth>SecWindowWidth+LeftScrolled){
if(this.Level==1)SubLt=SecWindowWidth+LeftScrolled-ChildContWidth;
else SubLt-=ChildContWidth}
while(SubTp+ChildContHeight>TopScrolled+SecWindowHeight){
if(this.Level==1)SubTp=TopScrolled+SecWindowHeight-ChildContHeight;
SubTp-=ChildContHeight}
ChCntTL.top=SubTp;
ChCntTL.left=SubLt;
ChCntTL.visibility=M_Show;
ShowFlag=1}
status=this.LinkTxt}
function CloseMenu(){
if(!Loaded||!Created) return;
if(Nav4){if(this.LowLyr.value.indexOf('<img')==-1){
this.LowLyr.bgColor=this.LowLyr.LowBack;
this.LowLyr.document.write(this.LowLyr.value);
this.LowLyr.document.close()}}
else{ this.style.backgroundColor=this.LowBack;
this.style.color=this.LowFontColor}
status='';
if(this==CurrentOver){
InitFlag=1;
if (CloseTimer) clearTimeout(CloseTimer);
CloseTimer=setTimeout('Initiate(CurrentOver)',DissapearDelay)}}
function ContainerSetUp(Wdth,Hght,NoOff){
this.FirstMember=null;
this.OrgLeft=0;
this.OrgTop=0;
if (CreateRecursLevel==1&&FirstLineHorizontal){
Wdth=(BorderBtwnElmnts)?NoOff*(Wdth+BorderWidth)+BorderWidth:NoOff*Wdth+2*BorderWidth;
Hght+=2*BorderWidth}
else{ Hght=(BorderBtwnElmnts)?NoOff*(Hght+BorderWidth)+BorderWidth:NoOff*Hght+2*BorderWidth;
Wdth+=2*BorderWidth}
if(Nav4){ this.visibility='hide';
this.bgColor=BorderColor;
this.resizeTo(Wdth,Hght)}
else{ this.Level=CreateRecursLevel;
this.style.backgroundColor=BorderColor;
this.style.width=Wdth;
this.style.height=Hght;
this.style.fontFamily=FontFamily;
this.style.fontWeight=(FontBold)?'bold':'normal';
this.style.fontStyle=(FontItalic)?'italic':'normal';
this.style.fontSize=FontSize+'pt';
this.style.zIndex=CreateRecursLevel+Ztop}}
function MemberSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
var Location=(CreateRecursLevel==1)?FirstLocation:SecLocation;
var MemVal=eval(WhatMenu+'[0]');
var t,T,L,W,H,S;
this.value=MemVal;
this.ChildCntnr=null;
this.PrevMember=PrMmbr;
this.Level=CreateRecursLevel;
this.LinkTxt=eval(WhatMenu+'[1]');
this.Container=MmbrCntnr;
this.style.cursor='default';
if(MemVal.indexOf('<')==-1){this.style.width=Wdth-LeftExtra; this.style.height=Hght-TopExtra; this.style.paddingLeft=LeftPaddng; this.style.paddingTop=TopPaddng}
else{this.style.width=Wdth; this.style.height=Hght}
this.style.overflow='hidden'
this.LowBack=LowBgColor;
this.LowFontColor=FontLowColor;
this.HighBack=(MemVal.indexOf('<img')==-1)?HighBgColor:LowBgColor;
this.HighFontColor=(MemVal.indexOf('<img')==-1)?FontHighColor:FontLowColor;
this.style.color=this.LowFontColor;
this.style.backgroundColor=this.LowBack;
if(MenuTextCentered)this.style.textAlign='center';
if(MemVal.indexOf('<')==-1&&DomYes){t=Location.document.createTextNode(MemVal);this.appendChild(t)}
else this.innerHTML=MemVal;
if(MemVal.indexOf('<img')==-1&&eval(WhatMenu+'[2]')){
S=(CreateRecursLevel==1&&FirstLineHorizontal)?'tridown.gif':'tri.gif';
W=(CreateRecursLevel==1&&FirstLineHorizontal)?10:5;
H=(CreateRecursLevel==1&&FirstLineHorizontal)?5:10;
T=(CreateRecursLevel==1&&FirstLineHorizontal)?Hght-7:Hght/2-5;
L=(CreateRecursLevel==1&&FirstLineHorizontal)?Wdth-12:Wdth-7;
if(DomYes){t=Location.document.createElement('img'); this.appendChild(t); t.style.position='absolute'; t.src=S; t.style.width=W; t.style.height=H; t.style.top=T; t.style.left=L}
else{MemVal+="<div style='position:absolute; top:"+T+"; left:"+L+"; width:"+W+"; height:"+H+";visibility:inherit'><img src='"+S+"'></div>"; this.innerHTML=MemVal}}
if(ExpYes){this.onmouseover=OpenMenu; this.onmouseout=CloseMenu; this.onclick=GoTo}
else{this.addEventListener('mouseover',OpenMenu,false); this.addEventListener('mouseout',CloseMenu,false); this.addEventListener('click',GoTo,false)}}
function NavMemberSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
this.value=eval(WhatMenu+'[0]');
if(LeftPaddng&&this.value.indexOf('<')==-1&&!MenuTextCentered)this.value=' ;'+this.value;
if(FontBold)this.value=this.value.bold();
if(FontItalic)this.value=this.value.italics();
this.Overvalue=this.value;
this.value=this.value.fontcolor(FontLowColor);
this.Overvalue=this.Overvalue.fontcolor(FontHighColor);
this.value=CenterText+"<font face='"+FontFamily+"' point-size='"+FontSize+"' color='"+FontLowColor+"'>"+this.value+TxtClose;
this.Overvalue=CenterText+"<font face='"+FontFamily+"' point-size='"+FontSize+"' color='"+FontHighColor+"'>"+this.Overvalue+TxtClose;
this.LowBack=LowBgColor;
this.HighBack=HighBgColor;
this.visibility='inherit';
this.ChildCntnr=null;
this.PrevMember=PrMmbr;
this.bgColor=LowBgColor;
this.resizeTo(Wdth,Hght);
this.document.write(this.value);
this.document.close();
this.CmdLyr=new Layer(Wdth,MmbrCntnr);
this.CmdLyr.visibility='inherit';
this.CmdLyr.Level=CreateRecursLevel;
this.CmdLyr.LinkTxt=eval(WhatMenu+'[1]');
this.CmdLyr.onmouseover=OpenMenu;
this.CmdLyr.onmouseout=CloseMenu;
this.CmdLyr.captureEvents(Event.MOUSEUP);
this.CmdLyr.onmouseup=GoTo;
this.CmdLyr.LowLyr=this;
this.CmdLyr.Container=MmbrCntnr;
this.CmdLyr.resizeTo(Wdth,Hght);
if(this.value.indexOf('<img')==-1 &&eval(WhatMenu+'[2]')){
this.CmdLyr.ImgLyr=new Layer(10,this.CmdLyr);
this.CmdLyr.ImgLyr.visibility='inherit';
this.CmdLyr.ImgLyr.top=(CreateRecursLevel==1&&FirstLineHorizontal)?Hght-7:Hght/2-5;
this.CmdLyr.ImgLyr.left=(CreateRecursLevel==1&&FirstLineHorizontal)?Wdth-12:Wdth-7;
this.CmdLyr.ImgLyr.width=(CreateRecursLevel==1&&FirstLineHorizontal)?10:5;
this.CmdLyr.ImgLyr.height=(CreateRecursLevel==1&&FirstLineHorizontal)?5:10;
ImgStr=(CreateRecursLevel==1&&FirstLineHorizontal)?"<img src='tridown.gif'>":"<img src='tri.gif'>";
this.CmdLyr.ImgLyr.document.write(ImgStr);
this.CmdLyr.ImgLyr.document.close()}}
function CreateMenuStructure(MenuName,NumberOf){
CreateRecursLevel++;
var i,NoOffSubs,Member;
var PreviousMember=null;
var WhichMenu=MenuName+'1';
var MenuWidth=eval(WhichMenu+'[4]');
var MenuHeight=eval(WhichMenu+'[3]');
var Location=(CreateRecursLevel==1)?FirstLocation:SecLocation;
if(DomYes){
var MemberContainer=Location.document.createElement("div");
MemberContainer.style.position='absolute';
MemberContainer.style.visibility='hidden';
Location.document.body.appendChild(MemberContainer)}
else if(Nav4) var MemberContainer=new Layer(MenuWidth,Location)
else{ WhichMenu+='c';
Location.document.body.insertAdjacentHTML("AfterBegin","<div id='"+WhichMenu+"' style='visibility:hidden; position:absolute;'></div>");
var MemberContainer=Location.document.all[WhichMenu]}
MemberContainer.SetUp=ContainerSetUp;
MemberContainer.SetUp(MenuWidth,MenuHeight,NumberOf);
if(Exp4){ MemberContainer.InnerString='';
for(i=1;i<NumberOf+1;i++){
WhichMenu=MenuName+eval(i);
NoOffSubs=eval(WhichMenu+'[2]');
MemberContainer.InnerString+="<div id='"+WhichMenu+"' style='position:absolute;'></div>"}
MemberContainer.innerHTML=MemberContainer.InnerString}
for(i=1;i<NumberOf+1;i++){
WhichMenu=MenuName+eval(i);
NoOffSubs=eval(WhichMenu+'[2]');
if(DomYes){
Member=Location.document.createElement("div");
Member.style.position='absolute';
Member.style.visibility='inherit';
MemberContainer.appendChild(Member);
Member.SetUp=MemberSetUp}
else if(Nav4){Member=new Layer(MenuWidth,MemberContainer);
Member.SetUp=NavMemberSetUp}
else{ Member=Location.document.all[WhichMenu];
Member.SetUp=MemberSetUp}
Member.SetUp(MemberContainer,PreviousMember,WhichMenu,MenuWidth,MenuHeight);
if(NoOffSubs) Member.ChildCntnr=CreateMenuStructure(WhichMenu+'_',NoOffSubs);
PreviousMember=Member}
MemberContainer.FirstMember=Member;
CreateRecursLevel--;
return(MemberContainer)}
function CreateMenuStructureAgain(MenuName,NumberOf){
var i,WhichMenu,NoOffSubs;
var PreviousMember,Member=FirstContainer.FirstMember;
CreateRecursLevel++;
for(i=NumberOf;i>0;i--){
WhichMenu=MenuName+eval(i);
NoOffSubs=eval(WhichMenu+'[2]');
PreviousMember=Member;
if(NoOffSubs)Member.ChildCntnr=CreateMenuStructure(WhichMenu+'_',NoOffSubs);
Member=Member.PrevMember}
CreateRecursLevel--}
//-->
</script>
</BODY>
<BODY>
<script language="javascript">
<!--
/////////////////////////////////////////////
// :*: Happyscript :*: //
// 소스 : http://www.happyscript.net //
// 편집 and 소스 설명 : Magic //
// E-mail : happyscript@hanmail.net //
/////////////////////////////////////////////
// <body>와 </body>사이에 넣어주세요..
function Go(){return}
// 주석이 없는 라인은 주석 붙인이도 모름 --;; 아시는 분 주석 붙여주세요.
var NoOffFirstLineMenus=5; // 아래 메뉴 갯수 (메인에서 맨첨 눈에 보이는 테이블 수로 이해하면 빠를듯)
// 여기서는 Menu1,Menu2,Menu3,Menu4,Menu5 이므로 5개
// Menu2_2는 메뉴갯수에 포함되지 않는다. 2번 메뉴의 보조이기 때문에
var LowBgColor='#F2F2F2'; // 메뉴 배경색
var HighBgColor='#dfdfff'; // 메뉴에 마우스 올렸을때 색
var FontLowColor='black'; // 메뉴 글자색
var FontHighColor='black'; // 메뉴 글자에 마우스 올렸을때 색
var BorderColor='black'; // 메뉴 테두리 색
var BorderWidth=1; // 겉 테두리 설정 (0 : 없음 , 1 : 있음)
var BorderBtwnElmnts=1; // 테두리안 가로선 세로선 설정 (0 : 없음 , 1 : 있음)
var FontFamily="굴림체" // 글자체 (여러개 설정시는 ,로 구분)
var FontSize=9; // 글자 크기
var FontBold=1; // 글자 굵기 설정 (0 : 없음 , 1 : 있음)
var FontItalic=0; // 글자 기울임 설정 (0 : 없음 , 1 : 있음)
var MenuTextCentered=0; // 글자 중간 배치 (0 : 없음 , 1 : 있음)
var MenuCentered='left'; // 전체 메뉴 위치 (좌, 중앙, 우)
var MenuVerticalCentered='top'; // 전체 메뉴 위치 (상, 하)
var ChildOverlap=.0; // 하위메뉴 정렬 - 좌 우 (0 : 겹침 , 1 : 안겹침)
var ChildVerticalOverlap=.0; // 하위메뉴 정렬 - 상 하 (0 : 겹침 , 1 : 안겹침)
var StartTop=0; // 브라우저와 위쪽 공간 설정 (0 : 없음 , 1 : 있음)
var StartLeft=0; // 브라우저와 왼쪽 공간 설정 - (0 : 없음 , 1 : 있음)
var VerCorrect=0;
var HorCorrect=0;
var LeftPaddng=3; // 테이블 왼쪽 라인과 글자사이 공간 설정
var TopPaddng=2; // 테이블 위쪽 라인과 글자사이 공간 설정
var FirstLineHorizontal=1; // 메뉴 정렬 방법 (0 : 세로 , 1 : 가로)
var MenuFramesVertical=0;
var DissapearDelay=500;
var TakeOverBgColor=1;
var FirstLineFrame='navig';
var SecLineFrame='space';
var DocTargetFrame='space';
var WebMasterCheck=0;
// 메뉴 설정 부분 (이해하기 쉬움 ^^)
// 화살표는 가로용으로 되어었습니다. 세로용에서는 화살표가 맞지 않으니 수정하신 후 사용하세요.
// 화살표가 있는 부분은 마우스를 올리면 하위 메뉴를 나타내는 부분이다
// 그래서 경로 적는 부분을 #으로 해줘야 한다
// #으로 해주지 않고 경로를 적어도 되지만 그 부분을 누르면 적힌 경로대로 연결이 되어 버린다.
// ("메뉴명","경로",하위메뉴 갯수,메뉴 세로크기,메뉴 가로크기)
Menu1=new Array("Home","http://www.happyscript.net",0,20,150);
Menu2=new Array("Menu 01 (▼)","#",2);
Menu2_1=new Array("Menu 01-1 (▶)","#",5,20,150);
Menu2_1_1=new Array("Menu 01-1-1","#",0,20,150);
Menu2_1_2=new Array("Menu 01-1-2","#",0);
Menu2_1_3=new Array("Menu 01-1-3","#",0);
Menu2_1_4=new Array("Menu 01-1-4","#",0);
Menu2_1_5=new Array("Menu 01-1-5 (▶)","#",2);
Menu2_1_5_1=new Array("Menu 01-1-1-1","#",0,20,150);
Menu2_1_5_2=new Array("Menu 01-1-1-2","#",0);
Menu2_2=new Array("Menu 01-2 (▶)","#",3);
Menu2_2_1=new Array("Menu 01-2-1","#",0,20,150);
Menu2_2_2=new Array("Menu 01-2-2 (▶)","#",6);
Menu2_2_2_1=new Array("Menu 01-2-2-1","#",0,20,150);
Menu2_2_2_2=new Array("Menu 01-2-2-2","#",0);
Menu2_2_2_3=new Array("Menu 01-2-2-3","#",0);
Menu2_2_2_4=new Array("Menu 01-2-2-4","#",0);
Menu2_2_2_5=new Array("Menu 01-2-2-5","#",0);
Menu2_2_2_6=new Array("Menu 01-2-2-6","#",0);
Menu2_2_3=new Array("Menu 01-2-3","#",0);
Menu3=new Array("Menu 02 (▼)","#",3);
Menu3_1=new Array("Menu 02-1 (▶)","#",1,20,150);
Menu3_1_1=new Array("Menu 02-1-1","#",0,20,150);
Menu3_2=new Array("Menu 02-2","#",0);
Menu3_3=new Array("Menu 02-3 (▶)","#",9);
Menu3_3_1=new Array("Menu 02-3-1","#",0,20,150);
Menu3_3_2=new Array("Menu 02-3-2","#",0);
Menu3_3_3=new Array("Menu 02-3-3","#",0);
Menu3_3_4=new Array("Menu 02-3-4","#",0);
Menu3_3_5=new Array("Menu 02-3-5","#",0);
Menu3_3_6=new Array("Menu 02-3-6","#",0);
Menu3_3_7=new Array("Menu 02-3-7","#",0);
Menu3_3_8=new Array("Menu 02-3-8","#",0);
Menu3_3_9=new Array("Menu 02-3-9","#",0);
Menu4=new Array("Menu 03 (▼)","#",4);
Menu4_1=new Array("Menu 03-1","#",0,20,150);
Menu4_2=new Array("Menu 03-2","#",0);
Menu4_3=new Array("Menu 03-3","#",0);
Menu4_4=new Array("Menu 03-4","#",0);
Menu5=new Array("Help (▼)","#",1);
Menu5_1=new Array("E-mail","mailto:happyscript@hanmail.net",0,20,150);
// 소스 수정 불가 부분..
var AgntUsr=navigator.userAgent.toLowerCase();
var DomYes=(document.getElementById)?1:0;
var NavYes=(AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1)?1:0;
var ExpYes=(AgntUsr.indexOf('msie')!=-1)?1:0;
var Opr5=(AgntUsr.indexOf('opera 5')!=-1||AgntUsr.indexOf('opera/5')!=-1)?1:0;
var DomNav=(DomYes&&NavYes)?1:0;
var DomExp=(DomYes&&ExpYes)?1:0;
var Nav4=(NavYes&&!DomYes&&document.layers)?1:0;
var Exp4=(ExpYes&&!DomYes&&document.all)?1:0;
var PosStrt=((NavYes||ExpYes)&&!Opr5)?1:0;
if(AgntUsr.indexOf('mac')!=-1&&DomExp){DomExp=0;Exp4=1}
var FirstLocation,SecLocation,DocLocation;
var SecWindowWidth,FirstWindowWidth,FirstWindowHeight;
var SecLoadAgainWin;
var FirstColPos,SecColPos,DocColPos;
var InitRecursLevel=0,CreateRecursLevel=0,PosRecursLevel=0;
var ShowFlag=0,FirstCreate=1,Loaded=0,Created=0,InitFlag,AcrossFrames=1;
var FirstContainer=null,CurrentOver=null,CloseTimer=null;
var CenterText,TxtClose,ImgStr;
var Ztop=100;
var M_StartTop=StartTop,M_StartLeft=StartLeft;
var LeftExtra=(DomNav)?LeftPaddng:0;
var TopExtra=(DomNav)?TopPaddng:0;
var M_Hide=(Nav4)?'hide':'hidden';
var M_Show=(Nav4)?'show':'visible';
var Par=(parent.frames[0])?parent:window;
var Doc=Par.document;
var Bod=Doc.body;
var Trigger=(NavYes||Opr5)?Par:Bod;
WebMasterAlerts=["No such frame: ","Item not defined: ","Item needs height: ","Item needs width: ","Warning-Item doesn't need height: ","Warning-Item doesn't need width: ","Item Oke ","Menu tree oke"];
if(DomNav&&!Opr5)Trigger.addEventListener('load',Go,false);
else Trigger.onload=Go;
Trigger.onresize=(Nav4)?ReDoWhole:RePos;
function cancelselect(){return false}
function RePos(){
FirstWindowWidth=(ExpYes)?FirstLocation.document.body.clientWidth:FirstLocation.innerWidth;
FirstWindowHeight=(ExpYes)?FirstLocation.document.body.clientHeight:FirstLocation.innerHeight;
SecWindowWidth=(ExpYes)?SecLocation.document.body.clientWidth:SecLocation.innerWidth;
SecWindowHeight=(ExpYes)?SecLocation.document.body.clientHeight:SecLocation.innerHeight;
if(MenuCentered)CalcLeft();
if(MenuVerticalCentered)CalcTop();
PositionMenuStruct(FirstContainer,StartTop,StartLeft)}
function UnLoaded(){
if(CloseTimer)clearTimeout(CloseTimer);Loaded=0; Created=0;
var FCStyle=(Nav4)?FirstContainer:FirstContainer.style;
FCStyle.visibility=M_Hide}
function ReDoWhole(){
Doc.location.reload()}
function Check(WhichMenu,NoOf){
var i,Hg,Wd,La,Li,Nof,array,ArrayLoc=parent.frames[FirstLineFrame];
for(i=0;i<NoOf;i++){
array=WhichMenu+eval(i+1);
if(!ArrayLoc[array]){WebMasterAlert(1,array); return false}
La=ArrayLoc[array][0]; Li=ArrayLoc[array][1]; Nof=ArrayLoc[array][2];
if(i==0){ if(!ArrayLoc[array][3]){WebMasterAlert(2,array); return false}
if(!ArrayLoc[array][4]){WebMasterAlert(3,array); return false}
Hg=ArrayLoc[array][3]; Wd=ArrayLoc[array][4]}
else{ if(ArrayLoc[array][3])WebMasterAlert(4,array);
if(ArrayLoc[array][4])WebMasterAlert(5,array)}
if(!WebMasterAlert(6,'nn'+array+'nwidth: '+Wd+'nheight: '+Hg+'nLabel: '+La+'nLink: '+Li+'nNo of sub items: '+Nof)){WebMasterCheck=0; return true}
if(ArrayLoc[array][2])if(!Check(array+'_',ArrayLoc[array][2])) return false}
return true}
function WebMasterAlert(No,Xtra){
if(WebMasterCheck)return confirm(WebMasterAlerts[No]+Xtra+' ')}
function Go(){
if(Loaded||!PosStrt)return;
Created=0; Loaded=1;
status='Loading Menu...';
if(FirstCreate){
if(!parent.frames[FirstLineFrame]){WebMasterAlert(0,FirstLineFrame); FirstLineFrame=SecLineFrame}
if(!parent.frames[FirstLineFrame]){WebMasterAlert(0,SecLineFrame); FirstLineFrame=SecLineFrame=DocTargetFrame}
if(!parent.frames[FirstLineFrame]){WebMasterAlert(0,DocTargetFrame); FirstLineFrame=SecLineFrame=DocTargetFrame=(parent.frames[0])?parent.frames[0].name:''}
if(!parent.frames[SecLineFrame]){WebMasterAlert(0,SecLineFrame);SecLineFrame=DocTargetFrame}
if(!parent.frames[SecLineFrame]){WebMasterAlert(0,DocTargetFrame);SecLineFrame=DocTargetFrame=FirstLineFrame}
if(!parent.frames[DocTargetFrame]){WebMasterAlert(0,DocTargetFrame);DocTargetFrame=SecLineFrame}
if(WebMasterCheck){if(!Check('Menu',NoOffFirstLineMenus))return;else WebMasterAlert(7,'')}
FirstLocation=(FirstLineFrame)?parent.frames[FirstLineFrame]:window;
SecLocation=(SecLineFrame)?parent.frames[SecLineFrame]:window;
DocLocation=(DocTargetFrame)?parent.frames[DocTargetFrame]:window;
if (FirstLocation==SecLocation) AcrossFrames=0;
if (AcrossFrames)FirstLineHorizontal=(MenuFramesVertical)?0:1;
FirstWindowWidth=(ExpYes)?FirstLocation.document.body.clientWidth:FirstLocation.innerWidth;
FirstWindowHeight=(ExpYes)?FirstLocation.document.body.clientHeight:FirstLocation.innerHeight;
SecWindowWidth=(ExpYes)?SecLocation.document.body.clientWidth:SecLocation.innerWidth;
SecWindowHeight=(ExpYes)?SecLocation.document.body.clientHeight:SecLocation.innerHeight;
if(MenuCentered) CalcLeft();
if(MenuVerticalCentered) CalcTop();
if(!DomYes){CenterText=(MenuTextCentered)?(NavYes)?"<div align='center'>":"align='center'":"";
if(NavYes)TxtClose="</font>"+(MenuTextCentered)?"</div>":""}}
FirstColPos=(Nav4)?FirstLocation.document:FirstLocation.document.body;
SecColPos=(Nav4)?SecLocation.document:SecLocation.document.body;
DocColPos=(Nav4)?DocLocation.document:SecLocation.document.body;
if (TakeOverBgColor)FirstColPos.bgColor=(AcrossFrames)?SecColPos.bgColor:DocColPos.bgColor;
if(FirstCreate){FirstContainer=CreateMenuStructure('Menu',NoOffFirstLineMenus);FirstCreate=0}
else CreateMenuStructureAgain('Menu',NoOffFirstLineMenus);
PositionMenuStruct(FirstContainer,StartTop,StartLeft);
InitFlag=1; Initiate(); InitFlag=0; Created=1;
SecLoadAgainWin=(ExpYes)?SecLocation.document.body:SecLocation;
SecLoadAgainWin.onunload=UnLoaded;
//if(ExpYes){SecLocation.document.body.onselectstart=cancelselect;FirstLocation.document.body.onselectstart=cancelselect}
status='메뉴를 선택하세요. - http://www.happyscript.net'}
function CalcLeft(){
var Size=FirstWindowWidth;
if(MenuCentered!='left'){
StartLeft=M_StartLeft;
Size-=(FirstLineHorizontal)?(NoOffFirstLineMenus*(eval('Menu1[4]')+BorderWidth)+BorderWidth):(eval('Menu1[4]')+BorderWidth);
if(MenuCentered=='right')StartLeft+=Size; else StartLeft+=Size/2}}
function CalcTop(){
var Size=FirstWindowHeight;
if(MenuVerticalCentered!='top'){
StartTop=M_StartTop;
Size-=(FirstLineHorizontal)?(eval('Menu1[3]')+BorderWidth):(NoOffFirstLineMenus*(eval('Menu1[3]')+BorderWidth)+BorderWidth);
if(MenuVerticalCentered=='bottom')StartTop+=Size; else StartTop+=Size/2}}
function PositionMenuStruct(CntnrPntr,Tp,Lt){
var Topi,Lefti,Hori;
var Cntnr=CntnrPntr;
var Mmbr=Cntnr.FirstMember;
var CntnrStyle=(!Nav4)?Cntnr.style:Cntnr;
var MmbrStyle=(!Nav4)?Mmbr.style:Mmbr;
var PadLeft=(Mmbr.value.indexOf('<')==-1)?LeftExtra:0;
var PadTop=(Mmbr.value.indexOf('<')==-1)?TopExtra:0;
var MmbrWidth=(!Nav4)?parseInt(MmbrStyle.width)+PadLeft:MmbrStyle.clip.width;
var MmbrHeight=(!Nav4)?parseInt(MmbrStyle.height)+PadTop:MmbrStyle.clip.height;
var CntnrWidth=(!Nav4)?parseInt(CntnrStyle.width):CntnrStyle.clip.width;
var CntnrHeight=(!Nav4)?parseInt(CntnrStyle.height):CntnrStyle.clip.height;
var SubTp,SubLt;
PosRecursLevel++;
if (PosRecursLevel==1 && AcrossFrames)(!MenuFramesVertical)?Tp=FirstWindowHeight-CntnrHeight+((Nav4)?4:0):Lt=FirstWindowWidth-CntnrWidth;
if (PosRecursLevel==2 && AcrossFrames)(!MenuFramesVertical)?Tp=0:Lt=0;
if (PosRecursLevel==2 && AcrossFrames){Tp+=VerCorrect;Lt+=HorCorrect}
CntnrStyle.top=Cntnr.OrgTop=Tp;
CntnrStyle.left=Cntnr.OrgLeft=Lt;
if (PosRecursLevel==1 && FirstLineHorizontal){Hori=1; Lefti=CntnrWidth-MmbrWidth-2*BorderWidth;Topi=0}
else{Hori=Lefti=0; Topi=CntnrHeight-MmbrHeight-2*BorderWidth}
while(Mmbr!=null){
PadLeft=(Mmbr.value.indexOf('<')==-1)?LeftExtra:0;
PadTop=(Mmbr.value.indexOf('<')==-1)?TopExtra:0;
MmbrStyle=(!Nav4)?Mmbr.style:Mmbr;
MmbrWidth=(!Nav4)?parseInt(MmbrStyle.width)+PadLeft:MmbrStyle.clip.width;
MmbrHeight=(!Nav4)?parseInt(MmbrStyle.height)+PadTop:MmbrStyle.clip.height;
MmbrStyle=(!Nav4)?Mmbr.style:Mmbr;
MmbrStyle.left=Lefti+BorderWidth;
MmbrStyle.top=Topi+BorderWidth;
if(Nav4)Mmbr.CmdLyr.moveTo(Lefti+BorderWidth,Topi+BorderWidth);
if(Mmbr.ChildCntnr){
if(Hori){ SubTp=Tp+Topi+MmbrHeight+BorderWidth; SubLt=Lt+Lefti}
else{ SubLt=Lt+Lefti+(1-ChildOverlap)*MmbrWidth+BorderWidth; SubTp=Tp+Topi+ChildVerticalOverlap*MmbrHeight}
PositionMenuStruct(Mmbr.ChildCntnr,SubTp,SubLt)}
(Hori)?Lefti-=(BorderBtwnElmnts)?(MmbrWidth+BorderWidth):(MmbrWidth):Topi-=(BorderBtwnElmnts)?(MmbrHeight+BorderWidth):(MmbrHeight);
Mmbr=Mmbr.PrevMember}
PosRecursLevel--}
function Initiate(){
if(InitFlag) Init(FirstContainer)}
function Init(CntnrPntr){
var MemberContainer=CntnrPntr;
var Member=MemberContainer.FirstMember;
var MCStyle=(Nav4)?MemberContainer:MemberContainer.style;
InitRecursLevel++;
MCStyle.visibility=(InitRecursLevel==1)?M_Show:M_Hide;
while(Member!=null){
if(Member.ChildCntnr) Init(Member.ChildCntnr);
Member=Member.PrevMember}
InitRecursLevel--}
function ClearAllChilds(Pntr,ChldPntr){
var CPCCStyle;
while (Pntr){
if(Pntr.ChildCntnr){
CPCCStyle=(Nav4)?Pntr.ChildCntnr:Pntr.ChildCntnr.style;
if(Pntr.ChildCntnr!=ChldPntr)CPCCStyle.visibility=M_Hide;
ClearAllChilds(Pntr.ChildCntnr.FirstMember,ChldPntr)}
Pntr=Pntr.PrevMember}}
function GoTo(){
if(this.LinkTxt){
status='';
if(Nav4){ if(this.LowLyr.value.indexOf('<img')==-1){
this.LowLyr.bgColor=this.LowLyr.LowBack;
this.LowLyr.document.write(this.LowLyr.value);
this.LowLyr.document.close()}}
else{ this.style.backgroundColor=this.LowBack;
this.style.color=this.LowFontColor}
(this.LinkTxt.indexOf('javascript:')!=-1)?eval(this.LinkTxt):DocLocation.location.href=this.LinkTxt}}
function OpenMenu(){
if(!Loaded||!Created) return;
var TopScrolled=(AcrossFrames)?(ExpYes)?SecLocation.document.body.scrollTop:SecLocation.pageYOffset:0;
var LeftScrolled=(AcrossFrames)?(ExpYes)?SecLocation.document.body.scrollLeft:SecLocation.pageXOffset:0;
var ChildCont=(Nav4)?this.LowLyr.ChildCntnr:this.ChildCntnr;
var ThisHeight=(Nav4)?this.clip.height:parseInt(this.style.height);
var ThisWidth=(Nav4)?this.clip.width:parseInt(this.style.width);
CurrentOver=this; InitFlag=0;
if(ShowFlag){
ClearAllChilds(this.Container.FirstMember,ChildCont);
if(this.Level==1) ShowFlag=0}
if(Nav4){ if(this.LowLyr.value.indexOf('<img')==-1){
this.LowLyr.bgColor=this.LowLyr.HighBack;
this.LowLyr.document.write(this.LowLyr.Overvalue);
this.LowLyr.document.close()}}
else{ this.style.backgroundColor=this.HighBack;
this.style.color=this.HighFontColor}
if(ChildCont!=null) {
var ChildContWidth=(Nav4)?this.LowLyr.ChildCntnr.clip.width:parseInt(this.ChildCntnr.style.width);
var ChildContHeight=(Nav4)?this.LowLyr.ChildCntnr.clip.height:parseInt(this.ChildCntnr.style.height);
var ChCntTL=(Nav4)?this.LowLyr.ChildCntnr:this.ChildCntnr.style;
var SubLt=ChildCont.OrgLeft+LeftScrolled;
var SubTp=ChildCont.OrgTop+TopScrolled;
while(SubLt+ChildContWidth>SecWindowWidth+LeftScrolled){
if(this.Level==1)SubLt=SecWindowWidth+LeftScrolled-ChildContWidth;
else SubLt-=ChildContWidth}
while(SubTp+ChildContHeight>TopScrolled+SecWindowHeight){
if(this.Level==1)SubTp=TopScrolled+SecWindowHeight-ChildContHeight;
SubTp-=ChildContHeight}
ChCntTL.top=SubTp;
ChCntTL.left=SubLt;
ChCntTL.visibility=M_Show;
ShowFlag=1}
status=this.LinkTxt}
function CloseMenu(){
if(!Loaded||!Created) return;
if(Nav4){if(this.LowLyr.value.indexOf('<img')==-1){
this.LowLyr.bgColor=this.LowLyr.LowBack;
this.LowLyr.document.write(this.LowLyr.value);
this.LowLyr.document.close()}}
else{ this.style.backgroundColor=this.LowBack;
this.style.color=this.LowFontColor}
status='';
if(this==CurrentOver){
InitFlag=1;
if (CloseTimer) clearTimeout(CloseTimer);
CloseTimer=setTimeout('Initiate(CurrentOver)',DissapearDelay)}}
function ContainerSetUp(Wdth,Hght,NoOff){
this.FirstMember=null;
this.OrgLeft=0;
this.OrgTop=0;
if (CreateRecursLevel==1&&FirstLineHorizontal){
Wdth=(BorderBtwnElmnts)?NoOff*(Wdth+BorderWidth)+BorderWidth:NoOff*Wdth+2*BorderWidth;
Hght+=2*BorderWidth}
else{ Hght=(BorderBtwnElmnts)?NoOff*(Hght+BorderWidth)+BorderWidth:NoOff*Hght+2*BorderWidth;
Wdth+=2*BorderWidth}
if(Nav4){ this.visibility='hide';
this.bgColor=BorderColor;
this.resizeTo(Wdth,Hght)}
else{ this.Level=CreateRecursLevel;
this.style.backgroundColor=BorderColor;
this.style.width=Wdth;
this.style.height=Hght;
this.style.fontFamily=FontFamily;
this.style.fontWeight=(FontBold)?'bold':'normal';
this.style.fontStyle=(FontItalic)?'italic':'normal';
this.style.fontSize=FontSize+'pt';
this.style.zIndex=CreateRecursLevel+Ztop}}
function MemberSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
var Location=(CreateRecursLevel==1)?FirstLocation:SecLocation;
var MemVal=eval(WhatMenu+'[0]');
var t,T,L,W,H,S;
this.value=MemVal;
this.ChildCntnr=null;
this.PrevMember=PrMmbr;
this.Level=CreateRecursLevel;
this.LinkTxt=eval(WhatMenu+'[1]');
this.Container=MmbrCntnr;
this.style.cursor='default';
if(MemVal.indexOf('<')==-1){this.style.width=Wdth-LeftExtra; this.style.height=Hght-TopExtra; this.style.paddingLeft=LeftPaddng; this.style.paddingTop=TopPaddng}
else{this.style.width=Wdth; this.style.height=Hght}
this.style.overflow='hidden'
this.LowBack=LowBgColor;
this.LowFontColor=FontLowColor;
this.HighBack=(MemVal.indexOf('<img')==-1)?HighBgColor:LowBgColor;
this.HighFontColor=(MemVal.indexOf('<img')==-1)?FontHighColor:FontLowColor;
this.style.color=this.LowFontColor;
this.style.backgroundColor=this.LowBack;
if(MenuTextCentered)this.style.textAlign='center';
if(MemVal.indexOf('<')==-1&&DomYes){t=Location.document.createTextNode(MemVal);this.appendChild(t)}
else this.innerHTML=MemVal;
if(MemVal.indexOf('<img')==-1&&eval(WhatMenu+'[2]')){
S=(CreateRecursLevel==1&&FirstLineHorizontal)?'tridown.gif':'tri.gif';
W=(CreateRecursLevel==1&&FirstLineHorizontal)?10:5;
H=(CreateRecursLevel==1&&FirstLineHorizontal)?5:10;
T=(CreateRecursLevel==1&&FirstLineHorizontal)?Hght-7:Hght/2-5;
L=(CreateRecursLevel==1&&FirstLineHorizontal)?Wdth-12:Wdth-7;
if(DomYes){t=Location.document.createElement('img'); this.appendChild(t); t.style.position='absolute'; t.src=S; t.style.width=W; t.style.height=H; t.style.top=T; t.style.left=L}
else{MemVal+="<div style='position:absolute; top:"+T+"; left:"+L+"; width:"+W+"; height:"+H+";visibility:inherit'><img src='"+S+"'></div>"; this.innerHTML=MemVal}}
if(ExpYes){this.onmouseover=OpenMenu; this.onmouseout=CloseMenu; this.onclick=GoTo}
else{this.addEventListener('mouseover',OpenMenu,false); this.addEventListener('mouseout',CloseMenu,false); this.addEventListener('click',GoTo,false)}}
function NavMemberSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
this.value=eval(WhatMenu+'[0]');
if(LeftPaddng&&this.value.indexOf('<')==-1&&!MenuTextCentered)this.value=' ;'+this.value;
if(FontBold)this.value=this.value.bold();
if(FontItalic)this.value=this.value.italics();
this.Overvalue=this.value;
this.value=this.value.fontcolor(FontLowColor);
this.Overvalue=this.Overvalue.fontcolor(FontHighColor);
this.value=CenterText+"<font face='"+FontFamily+"' point-size='"+FontSize+"' color='"+FontLowColor+"'>"+this.value+TxtClose;
this.Overvalue=CenterText+"<font face='"+FontFamily+"' point-size='"+FontSize+"' color='"+FontHighColor+"'>"+this.Overvalue+TxtClose;
this.LowBack=LowBgColor;
this.HighBack=HighBgColor;
this.visibility='inherit';
this.ChildCntnr=null;
this.PrevMember=PrMmbr;
this.bgColor=LowBgColor;
this.resizeTo(Wdth,Hght);
this.document.write(this.value);
this.document.close();
this.CmdLyr=new Layer(Wdth,MmbrCntnr);
this.CmdLyr.visibility='inherit';
this.CmdLyr.Level=CreateRecursLevel;
this.CmdLyr.LinkTxt=eval(WhatMenu+'[1]');
this.CmdLyr.onmouseover=OpenMenu;
this.CmdLyr.onmouseout=CloseMenu;
this.CmdLyr.captureEvents(Event.MOUSEUP);
this.CmdLyr.onmouseup=GoTo;
this.CmdLyr.LowLyr=this;
this.CmdLyr.Container=MmbrCntnr;
this.CmdLyr.resizeTo(Wdth,Hght);
if(this.value.indexOf('<img')==-1 &&eval(WhatMenu+'[2]')){
this.CmdLyr.ImgLyr=new Layer(10,this.CmdLyr);
this.CmdLyr.ImgLyr.visibility='inherit';
this.CmdLyr.ImgLyr.top=(CreateRecursLevel==1&&FirstLineHorizontal)?Hght-7:Hght/2-5;
this.CmdLyr.ImgLyr.left=(CreateRecursLevel==1&&FirstLineHorizontal)?Wdth-12:Wdth-7;
this.CmdLyr.ImgLyr.width=(CreateRecursLevel==1&&FirstLineHorizontal)?10:5;
this.CmdLyr.ImgLyr.height=(CreateRecursLevel==1&&FirstLineHorizontal)?5:10;
ImgStr=(CreateRecursLevel==1&&FirstLineHorizontal)?"<img src='tridown.gif'>":"<img src='tri.gif'>";
this.CmdLyr.ImgLyr.document.write(ImgStr);
this.CmdLyr.ImgLyr.document.close()}}
function CreateMenuStructure(MenuName,NumberOf){
CreateRecursLevel++;
var i,NoOffSubs,Member;
var PreviousMember=null;
var WhichMenu=MenuName+'1';
var MenuWidth=eval(WhichMenu+'[4]');
var MenuHeight=eval(WhichMenu+'[3]');
var Location=(CreateRecursLevel==1)?FirstLocation:SecLocation;
if(DomYes){
var MemberContainer=Location.document.createElement("div");
MemberContainer.style.position='absolute';
MemberContainer.style.visibility='hidden';
Location.document.body.appendChild(MemberContainer)}
else if(Nav4) var MemberContainer=new Layer(MenuWidth,Location)
else{ WhichMenu+='c';
Location.document.body.insertAdjacentHTML("AfterBegin","<div id='"+WhichMenu+"' style='visibility:hidden; position:absolute;'></div>");
var MemberContainer=Location.document.all[WhichMenu]}
MemberContainer.SetUp=ContainerSetUp;
MemberContainer.SetUp(MenuWidth,MenuHeight,NumberOf);
if(Exp4){ MemberContainer.InnerString='';
for(i=1;i<NumberOf+1;i++){
WhichMenu=MenuName+eval(i);
NoOffSubs=eval(WhichMenu+'[2]');
MemberContainer.InnerString+="<div id='"+WhichMenu+"' style='position:absolute;'></div>"}
MemberContainer.innerHTML=MemberContainer.InnerString}
for(i=1;i<NumberOf+1;i++){
WhichMenu=MenuName+eval(i);
NoOffSubs=eval(WhichMenu+'[2]');
if(DomYes){
Member=Location.document.createElement("div");
Member.style.position='absolute';
Member.style.visibility='inherit';
MemberContainer.appendChild(Member);
Member.SetUp=MemberSetUp}
else if(Nav4){Member=new Layer(MenuWidth,MemberContainer);
Member.SetUp=NavMemberSetUp}
else{ Member=Location.document.all[WhichMenu];
Member.SetUp=MemberSetUp}
Member.SetUp(MemberContainer,PreviousMember,WhichMenu,MenuWidth,MenuHeight);
if(NoOffSubs) Member.ChildCntnr=CreateMenuStructure(WhichMenu+'_',NoOffSubs);
PreviousMember=Member}
MemberContainer.FirstMember=Member;
CreateRecursLevel--;
return(MemberContainer)}
function CreateMenuStructureAgain(MenuName,NumberOf){
var i,WhichMenu,NoOffSubs;
var PreviousMember,Member=FirstContainer.FirstMember;
CreateRecursLevel++;
for(i=NumberOf;i>0;i--){
WhichMenu=MenuName+eval(i);
NoOffSubs=eval(WhichMenu+'[2]');
PreviousMember=Member;
if(NoOffSubs)Member.ChildCntnr=CreateMenuStructure(WhichMenu+'_',NoOffSubs);
Member=Member.PrevMember}
CreateRecursLevel--}
//-->
</script>
</BODY>
댓글 3
-
이영준
2005.03.02 15:09
-
Pococurante
2005.03.02 23:36
변수나 함수명이 꼬인거니까 적당히바꿔주거나 이미지 자동리사이즈를 없애면 잘되더군요 -
이영준
2005.03.04 09:02
뭔 소리인지 몰라서 수정을 못하고 있음 ㅜ.ㅜ;;;
제목 | 글쓴이 | 날짜 |
---|---|---|
뉴스티커 [4] | beMax | 2005.08.26 |
Rain# 머문시간 나타내기 [상태창] | Rain | 2005.08.14 |
자바스크립트 음악목록 랜덤 재생하기 | 만능천사 | 2005.08.14 |
미디어 플레이어? 난 곰플레이어야! [9] | 송재영 | 2005.07.24 |
SP2 팝업차단 무시하고 팝업띠우기?! [8] | 오길호 | 2005.07.23 |
파일 업로드 버튼 이미지로 사용하기 [1] | 행복한고니 | 2005.06.29 |
마우스 오른쪽버튼 금지시키기스크립트 [5] | 박시현 | 2005.06.26 |
링크 점선 처리 onfocus=blur() [5] | woosh | 2005.06.06 |
상태 표시줄 감지 (URL 가리고 내용 표시) 업그레이드 소스 [2] | ArⓒH | 2005.05.30 |
팝업창을 내용에 맞게 크기 자동조정하기 [2] | 김경수 | 2005.04.23 |
타켓으로 페이지 이동하는 스크립트 [2] | 로크 | 2005.04.16 |
풍선도움말 스크립트 [3] | 행복한고니 | 2005.04.11 |
플래쉬 갤러리 비슷한 자바스크립 갤러리 [13] | monozzang | 2005.04.04 |
플래시 칼라피커 두번째 버전 [1] | 행복한고니 | 2005.03.16 |
테이블선(지정위치)을 따라 이동하는 top [3] | sharim | 2005.03.14 |
마우스커서 움직임으로 이미지목록 스크롤 [1] | monozzang | 2005.03.13 |
브라우저를 동적으로 부드럽게 리사이즈 하는 소스 [4] | monozzang | 2005.03.06 |
가로 세로가 호환되는 메뉴 [3] | 이영준 | 2005.03.02 |
주소자동으로 이동 시키기(포워딩) [8] | 네츠키 | 2005.02.22 |
홈피 만들때 자주 사용되는 메타태그 모음 [18] | 김태영 | 2005.02.20 |
제로보드 사용시
노 프레임에서
목록 보시기에는 메뉴가 나오지만
view.php를 불러올 때
메뉴부분이 나오지 않습니다.