Top

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

  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. { 
  70.     var todayDate = new Date(); 
  71.     todayDate.setDate(todayDate.getDate() + expiredays); 
  72.     document.cookie = name + "=" + escape(value) + "; path=/; expires=" + todayDate.toGMTString() + ";" 
  73. }
  74. function closeLayer()
  75. {
  76.     if ( document.notice_form.chkbox.checked )
  77.  {
  78.         setCookie("divPop", "os" , expiredays); 
  79.     }
  80.     document.getElementById('divPop').style.visibility = "hidden";
  81. }
  82. isIE  = document.all;
  83. isNN  = !document.all && document.getElementById;
  84. isN4  = document.layers;
  85. var max_zindex = 30;
  86. function drag( mode,e,obj )
  87. { 
  88.     if ( mode == 'start' )
  89.  {
  90.         obj.offsetx = isIE ? event.clientX : e.clientX;
  91.         obj.offsety = isIE ? event.clientY : e.clientY;
  92.         obj.nowX    = parseInt(obj.style.left);
  93.         obj.nowY    = parseInt(obj.style.top);
  94.         obj.dragable = '1';
  95.         var new_zindex = max_zindex + 1;
  96.         obj.style.zIndex = new_zindex;
  97.         max_zindex = new_zindex;
  98.     }
  99.  else if ( mode == 'move' )
  100.  { 
  101.          if ( obj.dragable == '1' )
  102.    {
  103.              var x = isIE ? (obj.nowX + event.clientX - obj.offsetx) : (obj.nowX + e.clientX - obj.offsetx);
  104.              var y = isIE ? (obj.nowY + event.clientY - obj.offsety) : (obj.nowY + e.clientY - obj.offsety);
  105.              var max_winw = document.body.clientWidth - parseInt(obj.style.width);
  106.              var max_winh = document.body.clientHeight - parseInt(obj.style.height);
  107.              if ( x >= 0 && x <=max_winw ) obj.style.left = x;
  108.              if ( y >= 0 && y <=max_winh ) obj.style.top  = y;
  109.          }
  110.     }
  111.  else if ( mode == 'stop' )
  112.  {
  113.         obj.dragable='0'
  114.     }
  115. }
  116. //-->
  117. </script>
  118. </head>
  119. <STYLE type="text/css">
  120. #divPop { position:absolute; border:2px #999999 solid; z-index:999; visibility:visible;
  121.     cursor:move; filter:alpha(Opacity:80,style:0));-moz-opacity:.50;opacity:.50;
  122. }
  123. #divPop #popTop { height: 30px; }
  124. #divPop #popMain { height:270px; }
  125. #divPop #popBottom { height: 40px; }
  126. .topContent { position:relative; top:5px; margin:0 0 0 5px; font-weight:bold; font-size:12px; color:#ffffff; }
  127. .mainContent { margin:5px 0 0 5px; font-weight:normal; font-size:12px; color:#666666; }
  128. .bottomContent { position:relative; top:5px; margin:0 0 2px 0; font-weight:bold; font-size:12px; color:#ffffff; cursor:pointer; text-align:center }
  129. </STYLE>
  130. <body onLoad="startTime();">
  131. <form name="notice_form">
  132. <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'>
  133.     <div id="popTop">
  134.         <div class="topContent">공지 <span id="today" style="font-weight:normal; color:#ff8000"></span></div>
  135.  </div>
  136.     <div id="popMain">
  137.         <div class="mainContent">
  138.         <p>서원영 개인전</p>
  139.         <p>Memorandum of an Interstellar Surveyor </p>
  140.         <p> (어느 성간측량기사의 비망록) </p>
  141.         <p> </p>
  142.         <p> 장 소: 모란갤러리 종로구 관훈동 백상빌딩 B1<br>
  143.                       *** 개인정보보호를 위한 전화번호 노출방지 *** 
  144.         </p>
  145.         <p>기 간: 2007. 10. 17(Wed)-10. 23(Tue) </p>
  146.         <p>초대일시: 2007. 10. 17(Wed) pm 6:0</p>
  147.       </div>
  148.  </div>
  149.     <div id="popBottom">
  150.         <div class="bottomContent"> <span style="font-weight:normal">이 창은</span><span id="stayTime" style="color:#ff8000"></span>초후에 
  151.         자동으로 닫힙니다.</span><br>
  152.         <input type="checkbox" name="chkbox" onclick="closeLayer();">
  153.         오늘 하루 이 창을 열지 않음<a href="javascript:closeLayer();"> [닫기]</a> </div>
  154.  </div>
  155. </div>
  156. </form>
  157. <script language="Javascript">
  158. function getCookie( name ) 
  159. { 
  160.     var nameOfCookie = name + "="; 
  161.     var x = 0; 
  162.     while ( x <= document.cookie.length ) 
  163.     { 
  164.         var y = (x+nameOfCookie.length); 
  165.         if ( document.cookie.substring( x, y ) == nameOfCookie )
  166.   { 
  167.             if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 ) 
  168.             endOfCookie = document.cookie.length; 
  169.             return unescape( document.cookie.substring( y, endOfCookie ) ); 
  170.         }
  171.         x = document.cookie.indexOf( " ", x ) + 1; 
  172.         if ( x == 0 ) 
  173.         break; 
  174.      } 
  175.      return ""; 
  176. }
  177. function cal()
  178. {
  179.     var t  = new Date();
  180.     var y  = t.getFullYear();
  181.     var m  = t.getMonth(); 
  182.     var d  = t.getDate();
  183.     var dw  = t.getDay();   
  184.     var w;
  185.  switch ( dw )
  186.  {
  187.      case 0: w = " (日요일)"; break; 
  188.      case 1: w = " (月요일)"; break; 
  189.      case 2: w = " (火요일)"; break; 
  190.      case 3: w = " (水요일)"; break; 
  191.      case 4: w = " (木요일)"; break; 
  192.      case 5: w = " (金요일)"; break; 
  193.      case 6: w = " (土요일)"; break; 
  194.     }
  195.     document.getElementById('today').innerHTML = ""+y+ "년 " + (m+1) + "월 " + d + "일"+w;
  196. }
  197. cal();
  198. document.getElementById('stayTime').innerHTML = useTime;
  199. </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