채택완료

자바스크립트 오늘하루그만보기 레이어팝업창 만드는데 잘안되네요 ㅠ

2014-11-14 (금) 17:59:51 8,791
Copy
<script type="text/javascript"></script>var cokarr = cookiedata.split(";");var strcok1 = "";var strcok2 = "";for(var i=0; i<cokarr.length; i++){ strcok1 = cokarr[0].split("="); strcok2 = cokarr[1].split("=");}var divId = strcok2[0];var timeOut = strcok2[1];var objDiv = document.getElementById(divId);var nowTime = new Date(); alert(objDiv);if(nowTime.toGMTString() < timeOut){ objDiv.style.display = "none";}else{ objDiv.style.display = "none";}</script><!-- 팝업레이어 시작 { --><div id="hd_pops_0" class="hd_pops" style="top:10px;left:15">    <div class="hd_pops_con" style="width:450px;height:400px">        팝업 레이어 테스트입니다.  <br /> </div>    <div class="hd_pops_footer">        <button class="hd_pops_reject hd_pops_0 24"><strong>24</strong>시간 동안 다시 열람하지 않습니다.</button>        <button class="hd_pops_close hd_pops_0">닫기</button>    </div></div><script>$(function() {    $(".hd_pops_reject").click(function() {        var id = $(this).attr('class').split(' ');        var ck_name = id[1];        var exp_time = parseInt(id[2]);        $("#"+id[1]).css("display", "none");        setCookie(ck_name, 1, exp_time);    });    $('.hd_pops_close').click(function() {        var idb = $(this).attr('class').split(' ');        $('#'+idb[1]).css('display','none');    });});function setCookie(name, value, expirehours) { var todayDate = new Date(); todayDate.setHours(expirehours); document.cookie = name + "=" + todayDate.toGMTString() + "; expires=" + todayDate.toGMTString() + ";"}</script>​

다른부분은 거진 다 했는데 ㅠ 쿠키넘기고 받고 다 확인했거든요.

근대 문제가 위에 16번줄 alert(objDiv); 저부분에서 받는값이 계속 null이 되네요..

바로 위에 쿠키 그리고 split로 짤라서 가져온 변수 divId값에도 div값 이 들어있는데..

왜그럴까요?

고수분들의 조언 부탁드립니다. ㅠ

|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

divId 변수 값에 원하는 엘리먼트 오브젝트가 들어있는듯 합니다.

document.getElementById("엘리먼트ID") 여기서 "​엘리먼트ID"는 텍스트 값이어야 합니다. 

var objDiv = divId ;  

이렇게 넣어보세요.   

만약 되지 않으신다면 콘솔에서 document.getElementById(divId) 값을 확인해 보시는게 좋겠네요. 

답변에 대한 댓글 1개

감사합니다. ㅎㅎ 덕분에 해결했네요.

답변을 작성하려면 로그인이 필요합니다.