2026, 새로운 도약을 시작합니다.

팝업레이어 24시간 닫기

기존 팝업 레이어(newwin.inc.php)에는 임의로 수정한 스타일이 적용되어 있고 그외에 새창을 만들어서 기본 스타일 팝업을 직접 제작해 넣었습니다 

기존 팝업은 닫기, 24시간 닫기가 다 잘 적용되는데 직접만든 팝업만 24시간 닫기가 적용이 안되더라구요

한 페이지에 팝업이 여러개 있을때 쿠키가 한쪽만 읽을수 있는건지 다른 해결 방법이 있을까요?

<div id="hd_pops_100" class="hd_pops100" style="width:500px;">

    <div class="hd_pops_con" style="width:100%">

            <img src="/img/popup/popup.jpg" alt="">

        </a>

    </div>

    <div class="hd_pops_footer">

        <button class="hd_pops_reject hd_pops_100"><strong>24</strong>시간 동안 다시 열람하지 않습니다.</button>

        <button class="hd_pops_close hd_pops_100">닫기</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]);

        $("#hd_pops_100").css("display", "none");

        set_cookie(ck_name, 1, exp_time, g5_cookie_domain);

    });

    $('.hd_pops_close').click(function() {

        var idb = $(this).attr('class').split(' ');

        $('#hd_pops_100').css('display','none');

        var hd_pops_length = $('.hd_pops:visible').length;

        if($('.hd_pops:visible').length == 0){

            $('#hd_pop_fixed').css('display','none');

        }

    });

    $("#hd_pops_100").css("z-index", 1000);

});

</script>

답변 4개

쿠키 변수 모두 로드해서 테스트 해보세요.

로그인 후 평가할 수 있습니다

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

팝업아이디가 모두 같아서 그런것 같네요.

해당 아이디로 쿠키가 생성되기 때문에...

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

저 100은 제작된 팝업에 임의로 준 숫자고 원래 있는 팝업이랑은 아이디가 다른데 왜 그럴까요 ㅠ

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

혹시 여러개의 팝업을 띄우실 경우 #hd_pops_100  팝업 아이디를 다르게 하셔야 반영이 됩니다~

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

저 100은 제작된 팝업에 임의로 준 숫자고 원래 있는 팝업이랑은 아이디가 다른데 왜그럴까요 ㅠ

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

스크립트로 쿠키를 읽어서  시간을 기록하는 부분이 누락된듯합니다. 

아래 소스코드를 올려드리오니 참고해서 적용해보시길 바랍니다.

Copy


    // 쿠키 생성 함수

    function setCookie(cName, cValue, cDay){

        var expire = new Date();

        expire.setDate(expire.getDate() + cDay);

        cookies = cName + '=' + escape(cValue) + '; path=/ '; // 한글 깨짐을 막기위해

        if(typeof cDay != 'undefined') cookies += ';expires=' + expire.toGMTString() + ';';

        document.cookie = cookies;

    }

    

    // 쿠키 가져오기 함수

    function getCookie(cName) {

        var x, y; var val = document.cookie.split(';');

        for (var i = 0; i  val.length; i++) {

            x = val[i].substr(0, val[i].indexOf('='));

            y = val[i].substr(val[i].indexOf('=') + 1);

            x = x.replace(/^\s+|\s+$/g, ''); // 앞과 뒤의 공백 제거하기

            if (x == cName) {

                return unescape(y);

                // unescape로 디코딩 후 값 리턴

                }

        }

    }

    

    

    // 팝업창 닫기

    function closeWin(popId) {

        document.getElementById(popId).style.display = "none";    

    }



    // 오늘 하루 보지 않기 닫기

    function todaycloseWin(cookiename) {

        setCookie(cookiename, "done" , 1);     // 저장될 쿠키명 , 쿠키 value값 , 기간

        var popId = 'popup_' + cookiename.split('_')[1];

         document.getElementById(popId).style.display = "none";    // 팝업창 아이디

    }

 

로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고