POPUP된 창 모두 닫기/특정창 닫기 > script

본문 바로가기
사이트 내 전체검색

script

POPUP된 창 모두 닫기/특정창 닫기

페이지 정보

작성자 서방님 댓글 0건 조회 216회 작성일 06-11-08 10:32

본문

<script>
gArrOpenObjentWin = new Array();

// 팝업 창 열기
function popupWin(url,pageName,width,height,top,left)
{
 var popupWin;
 var strOptions;
 var nScreenTop;
 var nScreenLeft;
 
 if(width == null)
 {
  width = 1000;
 }
 
 if(height == null)
 {
  height = 580;
 }
 
 if(height>690)
 {
  nScreenTop=0;
  nScreenLeft=0;
 }
 else
 {
  nScreenTop = top;
  nScreenLeft = left;
 }
 
 strOptions = "width="+width+", height="+height+", top=" + nScreenTop + ", left=" + nScreenLeft;
 
 strOptions = strOptions + ",status=no,resizable=yes,menubar=no, scrollbars=yes, title=no";
 
 popupWin = window.open(url, pageName, strOptions);
 
 if(popupWin != null)
 {
  // 열리는 팝업창 인스턴스를 배열에 삽입
  gArrOpenObjentWin.push(popupWin);
 }
 return popupWin;
}

// 열려 있는 모든 창 닫기
function allClose()
{
 var obj;
 var nObjCount = gArrOpenObjentWin.length;
 
 for(var i=0;i < nObjCount;i++)
 {
  try
  {
   // 배열에 저장된 Window 오브젝트를 하나 가지고 온다
   obj = gArrOpenObjentWin[i];
   
   if(typeof obj == "undefined")
   {
    continue;
   }
   
   // 해당 팝업을 닫는다.
   obj.close();
   
   // 실제 닫혔는지 확인한다.
   if(!obj.closed)
   {
    obj.close();
   }
  }
  catch(e)
  {
   if(!obj.closed)
   {
    alert("[" + obj.name + "] n 해당 창을 정상적으로 닫지 못했습니다.");
    return;
   }
  }
 }
 
 gArrOpenObjentWin.length = 0;
}

// 특정 창만 닫기
function targetClose(pageName)
{
 var obj;
 var nObjCount = gArrOpenObjentWin.length;
 
 for(var i=0;i < nObjCount;i++)
 {
  try
  {
   obj = gArrOpenObjentWin[i];
   
   if(typeof obj == "undefined")
   {
    continue;
   }
   
   // 실제 닫고자하는 팝업창 명과 비교.
   if(pageName == obj.name)
   {
    obj.close();
    
    if(!obj.closed)
    {
     obj.close();
    }
   }
  }
  catch(e)
  {
   if(!obj.closed)
   {
    alert("[" + obj.name + "] n 해당 창을 정상적으로 닫지 못했습니다.");
    return;
   }
  }
 }
}

// 루프로 5개의 팝업 창 열기
function popupWin5()
{
 var nTop = 0;
 var nLeft = 0;
 
 for(var i=0;i < 5; i ++)
 {
  nTop = nTop + 10;
  nLeft = nLeft + 10;
  
  objWin = popupWin(i + 1, i + 1, 120, 120,nTop,nLeft);
  
  objWin.document.write( i+1 +"번째 창");
 }
}

// 특정창 닫기 테스트 위한 함수
function testTargetClose()
{
 if(txtNo.value == "")
 {
  alert("입력창에 몇번창을 닫을지 입력하세요.");
  txtNo.focus();
  return;
 }
 targetClose(txtNo.value);
}
</script>

<body onload="popupWin5()">

<input type="button" name="btnAllClose" value="전체 닫기" onclick="allClose();" ID="Button1">

<input type="text" name="txtNo" value="1" size=4 maxlength=2 ID="Text1">

<input type="button" name="btnAllClose" value="특정창 닫기" onclick="testTargetClose();" ID="Button2">

<input type="button" name="popup" value="창 5개 열기" onclick="popupWin5()" ID="Button3">

</body>

댓글목록

등록된 댓글이 없습니다.

Total 846건 48 페이지
게시물 검색

회원로그인

접속자집계

오늘
18
어제
302
최대
1,347
전체
155,079
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.