// 윈도우 로드 후 쿠키 확인
$('.cookiePopup').each(function(index, item){
var obj = $(item)
var popupName = $(item).attr('id');
checkCookie(popupName, obj)
})
//쿠키 확인
function checkCookie(name, obj){
var cookies = document.cookie.split(';'); // 쿠키구분
var visited = false;
for(var i in cookies){
if(cookies[i].indexOf(name) > -1){
visited = true;
}
}
if(visited){
//재방문
obj.css('display','none');
} else{
//신규방문
obj.css('display','block');
}
}
var popBtn = $('.btn_close');
// 쿠키팝업 버튼 클릭시 할 일
popBtn.on('click', function(){
var currentPopup = $(this).closest('.cookiePopup');
var name = currentPopup.attr('id');
var checkbox = $(this).siblings('.ck_lb').find('input');
var checkTrue = $(checkbox).prop("checked");
if(checkTrue){ // checkbox 클릭 후 닫기버튼을 눌렀을 때
setCookie(name, 'Main', 1);
currentPopup.css('display', 'none');
} else{ // 그냥 닫기버튼을 눌렀을 때
delCookie(name);
currentPopup.css('display', 'none');
}
})
// 쿠키팝업 생성
function setCookie(name, value, day){
var date = new Date();
date.setDate(date.getDate() + day);
var mycookie = '';
mycookie += name + '=' + value + ';';
mycookie += 'Expires=' + date.toUTCString();
document.cookie = mycookie;
}
// 쿠키 삭제
function delCookie( name ){
var date = new Date();
date.setDate(date.getDate() - 1); // 쿠키삭제시 이전날짜로 지정하면 삭제된다.
var setCookie = '';
setCookie += name +'=Main;'; // 어플리케이션에 들어가는 값은 세미콜론으로 구분해주어야함.
setCookie += 'Expires =' + date.toUTCString(); // 쿠키에서는 date가 UTC포멧으로 나와야함.
document.cookie = setCookie; // 쿠키 설정, 생성
}
예제 link : cookie팝업예제
이 경우 스크린리더기를 켜면 input(checkbox, ladio)에 keydown이 먹히기때문에 신경쓰지 않아도 된다.