Top

[HTML] 레이어로 만든 팝업입니다. 쿠키, 이동. 띄우는 시간 조절 가능! | Web-Programing
김경훈 (admin) | Editor | 2013/03/19 16:58:42 | 조회:5939

  1. <script language="JavaScript">
  2. <!--
  3. var usePop = 1;        // 1이면 popUP 사용
  4. var useMonth = 10;     // 공지창을 사용할 월 10은 10월임
  5. var useDate  = 9;      // 공지창을 사용할 일 6은  6일까지임
  6. var useTime  = 10;     // 공지창이 머무를 시간 10은 10초임
  7. var expiredays = 1;    //공지창 하루 안띄우기 시간. 1은 하루임
  8. var layerTop  = 10;    //상단에서 떨어진 위치를 잡으세요
  9. var layerLeft = 10;    //죄측에서 떨어진 위치를 잡으세요
  10. var layerWidth = 260;  //레이어 넓이
  11. var layerHeight = 260; //레이어 높이
  12. var layerTopBg = "#666666"; //상단,하단 바 배경
  13. var layerPopBg = "#FFFFFF"; //내용 부분 배경
  14. function startTime()
  15. {
  16.     var cName ="divPop";
  17.     var time = new Date();
  18.     var year = time.getFullYear();
  19.     usedTime = new Date(year,parseInt(useMonth)-1,parseInt(useDate)+1);
  20.     endTime = (usedTime.getTime()-time.getTime())/(24*60*60*1000);
  21.     showTime = Math.ceil(endTime);
  22.     if ( showTime < 0 || usePop != 1)
  23.  {
  24.         document.getElementById('divPop').style.visibility = "hidden";
  25.  }
  26.  else
  27.  {
  28.      cookieIndex = getCookie(cName);
  29.         if ( !cookieIndex )
  30.         {      
  31.             document.getElementById('divPop').style.visibility = "visible";
  32.         }
  33.         else
  34.         {
  35.             document.getElementById('divPop').style.visibility = "hidden";
  36.         }
  37.  }
  38.     document.getElementById('divPop').style.top = layerTop+"px";
  39.     document.getElementById('divPop').style.left = layerLeft+"px";
  40.     document.getElementById('divPop').style.width = layerWidth+"px";
  41.     document.getElementById('popMain').style.height = layerHeight+"px";
  42.     document.getElementById('popTop').style.background = layerTopBg;
  43.     document.getElementById('divPop').style.background = layerPopBg;
  44.     document.getElementById('popBottom').style.background = layerTopBg;
  45.     h= time.getHours();
  46.     m = time.getMinutes();
  47.     s = time.getSeconds();
  48.     closeTime = h*3600+m*60+s;
  49.     closeTime += parseInt(useTime);
  50.     setTimer();
  51. }
  52. function setTimer()
  53. {
  54.     var time = new Date();
  55.  hour = time.getHours();
  56.     min = time.getMinutes();
  57.     sec = time.getSeconds();
  58.     curTime = hour*3600+min*60+sec;
  59.     if ( curTime >= closeTime )
  60.  {
  61.         document.getElementById('divPop').style.visibility = "hidden";
  62.     }
  63.  else
  64.  {
  65.         window.setTimeout("setTimer()",1000);
  66.  }
  67. }
  68. function setCookie( name, value, expiredays )
  69.     var todayDate = new Date(); 
  70.     todayDate.setDate(todayDate.getDate() + expiredays); 
  71.     document.cookie = name + "=" + escape(value) + "; path=/; expires=" + todayDate.toGMTString() + ";" 
  72. }
  73. function closeLayer()
  74. {
  75.     if ( document.notice_form.chkbox.checked )
  76.  {
  77.         setCookie("divPop", "os" , expiredays); 
  78.     }
  79.     document.getElementById('divPop').style.visibility = "hidden";
  80. }
  81. isIE  = document.all;
  82. isNN  = !document.all && document.getElementById;
  83. isN4  = document.layers;
  84. var max_zindex = 30;
  85. function drag( mode,e,obj )
  86.     if ( mode == 'start' )
  87.  {
  88.         obj.offsetx = isIE ? event.clientX : e.clientX;
  89.         obj.offsety = isIE ? event.clientY : e.clientY;
  90.         obj.nowX    = parseInt(obj.style.left);
  91.         obj.nowY    = parseInt(obj.style.top);
  92.         obj.dragable = '1';
  93.         var new_zindex = max_zindex + 1;
  94.         obj.style.zIndex = new_zindex;
  95.         max_zindex = new_zindex;
  96.     }
  97.  else if ( mode == 'move' )
  98.  { 
  99.          if ( obj.dragable == '1' )
  100.    {
  101.              var x = isIE ? (obj.nowX + event.clientX - obj.offsetx) : (obj.nowX + e.clientX - obj.offsetx);
  102.              var y = isIE ? (obj.nowY + event.clientY - obj.offsety) : (obj.nowY + e.clientY - obj.offsety);
  103.              var max_winw = document.body.clientWidth - parseInt(obj.style.width);
  104.              var max_winh = document.body.clientHeight - parseInt(obj.style.height);
  105.              if ( x >= 0 && x <=max_winw ) obj.style.left = x;
  106.              if ( y >= 0 && y <=max_winh ) obj.style.top  = y;
  107.          }
  108.     }
  109.  else if ( mode == 'stop' )
  110.  {
  111.         obj.dragable='0'
  112.     }
  113. }
  114. //-->
  115. </script>
  116. </head>
  117. <STYLE type="text/css">
  118. #divPop { position:absolute; border:2px #999999 solid; z-index:999; visibility:visible;
  119.     cursor:move; filter:alpha(Opacity:80,style:0));-moz-opacity:.50;opacity:.50;
  120. }
  121. #divPop #popTop { height: 30px; }
  122. #divPop #popMain { height:270px; }
  123. #divPop #popBottom { height: 40px; }
  124. .topContent { position:relative; top:5px; margin:0 0 0 5px; font-weight:bold; font-size:12px; color:#ffffff; }
  125. .mainContent { margin:5px 0 0 5px; font-weight:normal; font-size:12px; color:#666666; }
  126. .bottomContent { position:relative; top:5px; margin:0 0 2px 0; font-weight:bold; font-size:12px; color:#ffffff; cursor:pointer; text-align:center }
  127. </STYLE>
  128. <body onLoad="startTime();">
  129. <form name="notice_form">
  130. <div id="divPop" style="position:absolute;left:0px;top:0px;z-index:1;width:0px;height:0px;" onSelectStart="return false;" onMouseDown="drag('start',event,this);" onMouseUp="drag('stop',event,this);" onMouseMove="drag('move',event,this);" dragable='0'>
  131.     <div id="popTop">
  132.         <div class="topContent">공지 <span id="today" style="font-weight:normal; color:#ff8000"></span></div>
  133.  </div>
  134.     <div id="popMain">
  135.         <div class="mainContent">
  136.         <p>서원영 개인전</p>
  137.         <p>Memorandum of an Interstellar Surveyor </p>
  138.         <p> (어느 성간측량기사의 비망록) </p>
  139.         <p> </p>
  140.         <p> 장 소: 모란갤러리 종로구 관훈동 백상빌딩 B1<br>
  141.                       *** 개인정보보호를 위한 전화번호 노출방지 *** 
  142.         </p>
  143.         <p>기 간: 2007. 10. 17(Wed)-10. 23(Tue) </p>
  144.         <p>초대일시: 2007. 10. 17(Wed) pm 6:0</p>
  145.       </div>
  146.  </div>
  147.     <div id="popBottom">
  148.         <div class="bottomContent"> <span style="font-weight:normal">이 창은</span><span id="stayTime" style="color:#ff8000"></span>초후에 
  149.         자동으로 닫힙니다.</span><br>
  150.         <input type="checkbox" name="chkbox" onclick="closeLayer();">
  151.         오늘 하루 이 창을 열지 않음<a href="javascript:closeLayer();"> [닫기]</a> </div>
  152.  </div>
  153. </div>
  154. </form>
  155. <script language="Javascript">
  156. function getCookie( name ) 
  157.     var nameOfCookie = name + "="; 
  158.     var x = 0; 
  159.     while ( x <= document.cookie.length ) 
  160.     { 
  161.         var y = (x+nameOfCookie.length); 
  162.         if ( document.cookie.substring( x, y ) == nameOfCookie )
  163.   { 
  164.             if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 ) 
  165.             endOfCookie = document.cookie.length; 
  166.             return unescape( document.cookie.substring( y, endOfCookie ) ); 
  167.         }
  168.         x = document.cookie.indexOf( " ", x ) + 1; 
  169.         if ( x == 0 ) 
  170.         break; 
  171.      } 
  172.      return ""; 
  173. }
  174. function cal()
  175. {
  176.     var t  = new Date();
  177.     var y  = t.getFullYear();
  178.     var m  = t.getMonth(); 
  179.     var d  = t.getDate();
  180.     var dw  = t.getDay();   
  181.     var w;
  182.  switch ( dw )
  183.  {
  184.      case 0: w = " (日요일)"; break; 
  185.      case 1: w = " (月요일)"; break; 
  186.      case 2: w = " (火요일)"; break; 
  187.      case 3: w = " (水요일)"; break; 
  188.      case 4: w = " (木요일)"; break; 
  189.      case 5: w = " (金요일)"; break; 
  190.      case 6: w = " (土요일)"; break; 
  191.     }
  192.     document.getElementById('today').innerHTML = ""+y+ "년 " + (m+1) + "월 " + d + "일"+w;
  193. }
  194. cal();
  195. document.getElementById('stayTime').innerHTML = useTime;
  196. </script>
공유하기
공유하기
0
0
0


댓글을 불러오는 중입니다.
▲ 이전글 [Javascript] UTF-8 -> EUC-KR 페이지로 PARAM 전송 진기원 (jjinki) 2013-03-20 16:59:53
▼ 다음글 [MSSQL] ORACLE, MSSQL 함수 비교 김경훈 (admin) 2013-03-18 09:09:22