자바스크립트 오늘하루그만보기 레이어팝업창 만드는데 잘안되네요 ㅠ
본문
<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
divId
변수 값에 원하는 엘리먼트 오브젝트가 들어있는듯 합니다.
document.getElementById("엘리먼트ID") 여기서 "엘리먼트ID"는 텍스트 값이어야 합니다.
var
objDiv
= divId
;
이렇게 넣어보세요.
만약 되지 않으신다면 콘솔에서 document.getElementById(divId)
값을 확인해 보시는게 좋겠네요.
답변을 작성하시기 전에 로그인 해주세요.