이미지등의 컨텐츠는 파주시껄 가져다 썻으므로 좀 민감..

이 팝업존은 웹접근성을 고려해서 만들었고

ie 6, 파폭, 오페라 ,사파리에서 작동유무를 확인했고

스타일과 자바스크립트의 사용유무에 따른 접근성 확보는 파폭에서 확인하였다..

 

<!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" xml:lang="ko" lang="ko">
<head>

<style type="text/css" >
  /* 팝업존 스타일 css */
  #popup_zone ol{
   list-style-type:none;
  }
  

  #popup_zone{
   width:200px;
   background:red;
   position:relative;
  } 
  
  #popup_zone ol li{
   float:left; 
   display:inline;
  }
  /* 공통 팝업 스타일 */
  .sub_popup_zone{
   display:none;
   top: 20px;
   left:10px;
   position:absolute;
  } 

  .sub_popup_zone_no_script{
   
  } 

  #popup_zone_script{
   display:none;
  }
  #popup_zone_no_script{
   width:200px;
   height:125px;
   overflow:auto;
   top:20px;
   left:10px;
   position:absolute;
  }
 </style> 

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

  /***************************************************************
  * 팝업존 class
  * popup_id(팝업이미지)의 id는 뒤에 숫자가 붙되 1부터 증가하여야한다.
  *   예 : popup_id가 popup_zone 일 경우 팝업이미지의
  *   id는 popup_zone1, popup_zone2, popup_zone3
  * 
  * popup_id는 반드시 정의해야한다.
  * sub_popup_id(서브팝업영역)의 id는 뒤에 숫자가 붙되 1부터 증가하여야한다.
  * 예 : sub_popup_id가  sub_popup_zone 일 경우 서브팝업영역의
  * id는  sub_popup_zone1, sub_popup_zone2, sub_popup_zone3
  * 
  * sub_popup_id는 반드시 정의해야한다.
  *   name는 popup_zone class의 변수명을 넣는다.
  * 예:  var popup_1 = new popup_zone(); popup_1.name="popup_1";
  ***************************************************************/
  var popup_zone = function(){
   // 상태값 0은 정지 1은 동작
   this.status = 1;
   // 팝업의 총 갯수
   this.total = 0;
   // 딜레이타임
   this.delay = 5000;
   // 선택된 팝업
   this.select = 0;
   // 팝업이미지의 아이디
   this.popup_id  = "";
   // 서브팝업영역의 아이디
   this.sub_popup_id  = "";
   // 변수명을 넣어준다.
   this.name = "";
  }

  /***************************************************************
  * 팝업존의 이미지와 레이어를 변경
  *   이벤트 대상 : 팝업이미지.src 와 서브팝업영역.style.display
  *   순번 target_num을 제외한 이미지를 off이미지로 변경시키고
  * 순번 target_num을 제외한 레이어를 display:none 로 변경시킨다.
  ***************************************************************/
  popup_zone.prototype.change = function (target_num){ 
   var target_div="";
   var target_img="";
   var re;
   for(var i=1; i<=this.total ; i++ )
   { 
    target_div = this.sub_popup_id+i;
    getObject(target_div).style.display= "none";
    target_img = this.popup_id+i;    
    target_img_name = getObject(target_img).src;    
    if( target_img_name.indexOf("on.") > -1 ) {
     re = /on\./g;
     getObject(target_img).src = target_img_name.replace(re,"off.");
    }
   }
   target_div = this.sub_popup_id+target_num;
   getObject(target_div).style.display= "block";
   
   target_img = this.popup_id+target_num;           
   target_img_name = getObject(target_img).src;    
   if( target_img_name.indexOf("off.") > -1 ) {
    re = /off\./g;
    getObject(target_img).src = target_img_name.replace(re,"on.");
   }
   this.select = target_num;
  }

  /***************************************************************
  * 팝업존의 이미지를 시간에 따라 변경시킨다.
  *   delay가 0보다 크지 않으면 status와 상관없이 정지한다.
  *   status가 1이면 delay에 설정된 시간(Milliseconds)에 따라 팝업이 변화한다.
  * status가 0이면 팝업이 변화하지 않는다.
  ***************************************************************/
  popup_zone.prototype.roll = function(){ 
   if(this.delay > 0){
    if(this.status == 1){
     if(this.select == this.total){
      this.select = 1;
     }else{
      this.select = parseInt(this.select) + 1;
     }
     this.change(this.select);
    }
    setTimeout(this.name+".roll();",this.delay)
   }
  } 

  /***************************************************************
  * 팝업존을 스타트시킨다.
  *   이 메쏘드의 호출은 반드시 팝업존 다음에 선언되어야한다.
  
  ***************************************************************/
  popup_zone.prototype.start = function(){ 
   getObject("popup_zone_script").style.display= "block";
   this.roll();
  } 
  
  /***************************************************************
  *   사용예시
  *   필수항목(popup_id,sub_popup_id,name)은 반드시 선언되어야한다.
  * var popup_1 = new popup_zone();
  * popup_1.total = 5;  
  * popup_1.popup_id  = "popup_zone";
  * popup_1.sub_popup_id  = "sub_popup_zone";  
  * popup_1.name = "popup_1";
  * popup_1.delay = 1000;  
  * paid.UserEvent.addListener(window, "load", popup_1.start(), false);
  *  
  *   paid.UserEvent.addListener(window, "load", popup_1.start(), false);
  * 의 경우 팝업존의 엘리먼트 전에 선언되면 개체를 찾지 못하기 때문에 에러가 난다.
  ***************************************************************/

 //-->
 </script>

</head>

<body>

<div id="popup_zone">
 <script type="text/javascript">  
 <!--
 document.write('<div id="popup_zone_script">');
document.write('  <ol>');
document.write('   <li>');
document.write('    <a onblur="this.onmouseout();" onmouseout="popup_1.status=1;" onfocus="this.onmouseover();" onmouseover="popup_1.status=0;" onclick="popup_1.change(1);return false;" onkeypress="" href="#" >');
document.write('     <img id="popup_zone1" border="0" alt="1번 팝업존" src="http://www.paju.go.kr/open_content/img/main/popup_num_01_off.gif"/>');
document.write('    </a>');
document.write('    <div id ="sub_popup_zone1" class="sub_popup_zone">');
document.write('     <a  href="http://www.paju.go.kr/open_content/organization/news/event_infor/board.tdf?a=user.board.BoardApp&amp;board_id=BD_WWW_03_04_06_1&amp;c=2002&amp;seq=298&amp;npp=10&amp;cp=1"                                                 onmouseover="popup_1.status=0;" onfocus="this.onmouseover();" onmouseout="popup_1.status=1;" onblur= "this.onmouseout();"><img src="http://www.paju.go.kr/open_content/upload/allim/20080421091036254697_1.gif" alt="사운드오브뮤직" border="0" width="177" height="125" /></a>');
document.write('    </div>');
document.write('   </li>');
document.write('   <li>');
document.write('    <a onblur="this.onmouseout();" onmouseout="popup_1.status=1;" onfocus="this.onmouseover();" onmouseover="popup_1.status=0;" onclick="popup_1.change(2);return false;" onkeypress="" href="#">');
document.write('     <img id="popup_zone2" border="0" alt="2번 팝업존" src="http://www.paju.go.kr/open_content/img/main/popup_num_02_off.gif"/>');
document.write('    </a>');
document.write('    <div id ="sub_popup_zone2" class="sub_popup_zone">');
document.write('     <a  href="http://www.paju.go.kr/open_content/organization/news/inner_issue_new/board.tdf?a=user.board.BoardApp&amp;board_id=DB_WWW_03_04_01_1&amp;c=2002&amp;seq=3350&amp;npp=10&amp;cp=1"                                                 onmouseover="popup_1.status=0;" onfocus="this.onmouseover();" onmouseout="popup_1.status=1;" onblur= "this.onmouseout();"><img src="http://www.paju.go.kr/open_content/upload/allim/20080418093053380291_1.gif" alt="개별공시지가열람" border="0" width="177" height="125" /></a>  ');
document.write('    </div>');
document.write('   </li>');
document.write('   <li>');
document.write('    <a onblur="this.onmouseout();" onmouseout="popup_1.status=1;" onfocus="this.onmouseover();" onmouseover="popup_1.status=0;" onclick="popup_1.change(3);return false;" onkeypress="" href="#">');
document.write('     <img id="popup_zone3" border="0" alt="3번 팝업존" src="http://www.paju.go.kr/open_content/img/main/popup_num_03_off.gif"/>');
document.write('    </a>');
document.write('    <div id ="sub_popup_zone3" class="sub_popup_zone">');
document.write('     <a  href="http://branch.paju.go.kr/open_content/B000001290/B000001290_12/B000001290_02/branch/board.tdf?a=user.board.BoardApp&amp;c=2002&amp;board_id=BD_WWW_03_04_01&amp;seq=4415&amp;search_cons_without_keyword=ocode&amp;issearch=true&amp;ocode=000003099" target="_blank" ');
document.write('     onmouseover="popup_1.status=0;" onfocus="this.onmouseover();" onmouseout="popup_1.status=1;" onblur= "this.onmouseout();"><img src="http://www.paju.go.kr/open_content/upload/allim/20080418093516240293_1.gif" alt="풍수해보험전국확대실시" border="0" width="177" height="125" /></a>  ');
document.write('    </div>');
document.write('   </li>');
document.write('   <li>');
document.write('    <a onblur="this.onmouseout();" onmouseout="popup_1.status=1;" onfocus="this.onmouseover();" onmouseover="popup_1.status=0;" onclick="popup_1.change(4);return false;" onkeypress="" href="#">');
document.write('     <img id="popup_zone4" border="0" alt="4번 팝업존" src="http://www.paju.go.kr/open_content/img/main/popup_num_04_off.gif"/>');
document.write('    </a>');
document.write('    <div id ="sub_popup_zone4" class="sub_popup_zone">');
document.write('     <a  href="http://www.paju.go.kr/open_content/organization/news/law_making_new/board.tdf?a=user.board.BoardApp&amp;board_id=BD_WWW_03_04_03&amp;c=2002&amp;seq=4657&amp;npp=10&amp;cp=2&amp;pg=1"                                                 onmouseover="popup_1.status=0;" onfocus="this.onmouseover();" onmouseout="popup_1.status=1;" onblur= "this.onmouseout();"><img src="http://www.paju.go.kr/open_content/upload/allim/20080418093558287294_1.gif" alt="계량기정기검사" border="0" width="177" height="125" /></a>  ');
document.write('    </div>');
document.write('   </li>');
document.write('   <li>');
document.write('    <a onblur="this.onmouseout();" onmouseout="popup_1.status=1;" onfocus="this.onmouseover();" onmouseover="popup_1.status=0;" onclick="popup_1.change(5);return false;" onkeypress="" href="#">');
document.write('     <img id="popup_zone5" border="0" alt="5번 팝업존" src="http://www.paju.go.kr/open_content/img/main/popup_num_05_off.gif"/>');
document.write('    </a>');
document.write('    <div id ="sub_popup_zone5" class="sub_popup_zone">');
document.write('     <a  href="http://www.paju.go.kr/open_content/organization/news/inner_issue_new/board.tdf?a=user.board.BoardApp&amp;board_id=DB_WWW_03_04_01_1&amp;c=2002&amp;seq=3344&amp;npp=10&amp;cp=1"                                                 onmouseover="popup_1.status=0;" onfocus="this.onmouseover();" onmouseout="popup_1.status=1;" onblur= "this.onmouseout();"><img src="http://www.paju.go.kr/open_content/upload/allim/20080415175901734184_1.gif" alt="메일서비스 휴면계정 일제 정비" border="0" width="177" height="125" /></a>  ');
document.write('    </div>');
document.write('   </li>');
document.write('  </ol>');
document.write(' </div>');
 //-->

 <!--
  var popup_1 = new popup_zone();
  popup_1.total = 5;  
  popup_1.popup_id  = "popup_zone";
  popup_1.sub_popup_id  = "sub_popup_zone";  
  popup_1.name = "popup_1";
  popup_1.delay = 1000;  
  paid.UserEvent.addListener(window, "load", popup_1.start(), false);
 //-->
 </script>
 <noscript>
  <ol>
   <li>
    <a href="#sub_popup_zone_no_script1" >
     <img border="0" alt="1번 팝업존" src="http://www.paju.go.kr/open_content/img/main/popup_num_01_off.gif"/>
    </a>
    
   </li>
   <li>
    <a href="#sub_popup_zone_no_script2">
     <img border="0" alt="2번 팝업존" src="http://www.paju.go.kr/open_content/img/main/popup_num_02_off.gif"/>
    </a>
    
   </li>
   <li>
    <a href="#sub_popup_zone_no_script3">
     <img border="0" alt="3번 팝업존" src="http://www.paju.go.kr/open_content/img/main/popup_num_03_off.gif"/>
    </a>
    
   </li>
   <li>
    <a href="#sub_popup_zone_no_script4">
     <img border="0" alt="4번 팝업존" src="http://www.paju.go.kr/open_content/img/main/popup_num_04_off.gif"/>
    </a>
    
   </li>
   <li>
    <a href="#sub_popup_zone_no_script5">
     <img border="0" alt="5번 팝업존" src="http://www.paju.go.kr/open_content/img/main/popup_num_05_off.gif"/>
    </a>
    
   </li>   
  </ol>
  <div id="popup_zone_no_script"  >
       <div id ="sub_popup_zone_no_script1" class="sub_popup_zone_no_script">
     <a  href="http://www.paju.go.kr/open_content/organization/news/event_infor/board.tdf?a=user.board.BoardApp&amp;board_id=BD_WWW_03_04_06_1&amp;c=2002&amp;seq=298&amp;npp=10&amp;cp=1"                                                 onmouseover="popup_1.status=0;" onfocus="this.onmouseover();" onmouseout="popup_1.status=1;" onblur= "this.onmouseout();"><img src="http://www.paju.go.kr/open_content/upload/allim/20080421091036254697_1.gif" alt="사운드오브뮤직" border="0" width="177" height="125" /></a>
    </div>
    <div id ="sub_popup_zone_no_script2" class="sub_popup_zone_no_script">
     <a  href="http://www.paju.go.kr/open_content/organization/news/inner_issue_new/board.tdf?a=user.board.BoardApp&amp;board_id=DB_WWW_03_04_01_1&amp;c=2002&amp;seq=3350&amp;npp=10&amp;cp=1"                                                 onmouseover="popup_1.status=0;" onfocus="this.onmouseover();" onmouseout="popup_1.status=1;" onblur= "this.onmouseout();"><img src="http://www.paju.go.kr/open_content/upload/allim/20080418093053380291_1.gif" alt="개별공시지가열람" border="0" width="177" height="125" /></a>  
    </div>
    <div id ="sub_popup_zone_no_script3" class="sub_popup_zone_no_script">
     <a  href="http://branch.paju.go.kr/open_content/B000001290/B000001290_12/B000001290_02/branch/board.tdf?a=user.board.BoardApp&amp;c=2002&amp;board_id=BD_WWW_03_04_01&amp;seq=4415&amp;search_cons_without_keyword=ocode&amp;issearch=true&amp;ocode=000003099" target="_blank"
     onmouseover="popup_1.status=0;" onfocus="this.onmouseover();" onmouseout="popup_1.status=1;" onblur= "this.onmouseout();"><img src="http://www.paju.go.kr/open_content/upload/allim/20080418093516240293_1.gif" alt="풍수해보험전국확대실시" border="0" width="177" height="125" /></a>  
    </div>
    <div id ="sub_popup_zone_no_script4" class="sub_popup_zone_no_script">
     <a  href="http://www.paju.go.kr/open_content/organization/news/law_making_new/board.tdf?a=user.board.BoardApp&amp;board_id=BD_WWW_03_04_03&amp;c=2002&amp;seq=4657&amp;npp=10&amp;cp=2&amp;pg=1"                                                 onmouseover="popup_1.status=0;" onfocus="this.onmouseover();" onmouseout="popup_1.status=1;" onblur= "this.onmouseout();"><img src="http://www.paju.go.kr/open_content/upload/allim/20080418093558287294_1.gif" alt="계량기정기검사" border="0" width="177" height="125" /></a>  
    </div>
    <div id ="sub_popup_zone_no_script5" class="sub_popup_zone_no_script">
     <a  href="http://www.paju.go.kr/open_content/organization/news/inner_issue_new/board.tdf?a=user.board.BoardApp&amp;board_id=DB_WWW_03_04_01_1&amp;c=2002&amp;seq=3344&amp;npp=10&amp;cp=1"                                                 onmouseover="popup_1.status=0;" onfocus="this.onmouseover();" onmouseout="popup_1.status=1;" onblur= "this.onmouseout();"><img src="http://www.paju.go.kr/open_content/upload/allim/20080415175901734184_1.gif" alt="메일서비스 휴면계정 일제 정비" border="0" width="177" height="125" /></a>  
    </div>
  </div>
 </noscript>
 </div>

</body>

</html>

Posted by 삽지리
,