24시간 팝업... 계속 그대로 나와요 ㅠㅠ

24시간 팝업... 계속 그대로 나와요 ㅠㅠ

QA

24시간 팝업... 계속 그대로 나와요 ㅠㅠ

본문

1.

우선 html 코드 박스 내에 openWin('div_laypopup'); 이 부분에서

" openWin'이(가) 정의되지 않았습니다. " 라고 오류가 뜹니다.

 

스크립트 살펴봤지만 왜 정의가 되지 않았는지... 문제를 찾지 못했습니다.

 

2.

체크박스에 체크를 하면 내용이 사라지긴 합니다만... 새로고침 or 페이지 이동 하면

다시 그대로 뜹니다 ㅠㅠ 쿠키 값이 적용된 것이 아닌 것 같아요.

 

어떻게 하면 될까요? 도와주세요!!

 

 

 


   <div id="div_laypopup">
    팝업 안 내용
    <input type="checkbox" name="close" value="OK" onclick="javascript:closeWin('div_laypopup', 1);"/>하루동안 이 창을 열지 않음
   </div>
   <script type="text/javascript">
   openWin('div_laypopup');
   </script>

 

 

 


// 창열기
function openWin( winName ) {
   var blnCookie = getCookie( winName );
   var obj = eval( "window." + winName );
   if( !blnCookie ) {
    obj.style.display = "block";
   }
}
// 창닫기
function closeWin(winName, expiredays) {
   setCookie( winName, "done" , expiredays);
   var obj = eval( "window." + winName );
   obj.style.display = "none";
}
function closeWinAt00(winName, expiredays) {
   setCookieAt00( winName, "done" , expiredays);
   var obj = eval( "window." + winName );
   obj.style.display = "none";
}
// 쿠키 가져오기
function getCookie( name ) {
   var nameOfCookie = name + "=";
   var x = 0;
   while ( x <= document.cookie.length )
   {
    var y = (x+nameOfCookie.length);
    if ( document.cookie.substring( x, y ) == nameOfCookie ) {
     if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
      endOfCookie = document.cookie.length;
     return unescape( document.cookie.substring( y, endOfCookie ) );
    }
    x = document.cookie.indexOf( " ", x ) + 1;
    if ( x == 0 )
     break;
   }
   return "";
}
// 24시간 기준 쿠키 설정하기
// expiredays 후의 클릭한 시간까지 쿠키 설정
function setCookie( name, value, expiredays ) {
   var todayDate = new Date();
   todayDate.setDate( todayDate.getDate() + expiredays );
   document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

이 질문에 댓글 쓰기 :

답변 2

// openWin

if( !blnCookie ) {     obj.style.display = "block";    }

=>

blnCookie ? obj.style.display = 'none' : obj.style.display = "block";

openWin () , CloseWin () 을  setCookie() getCookie() 함수 밑으로 옮겨보세요

참조가 안되서 그런게 아닐까요

체크 해봤는데 아무런 문제 없네요.. 혹시나해서 구글 크롬으로도 해봤는데도 똑같아요

쿠키를 보면 체크박스에 선택을 했을 때 사라지고 div_laypopup=done 이렇게 쿠키가
생성되긴 하지만 못 읽어오는 건지..ㅠ

답변을 작성하시기 전에 로그인 해주세요.
전체 123,528 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT