Korean English Japanese

[JavaScript] 팝업 창 오늘 그만 보기

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

오늘 그만 보기 팝업창 구현하기

오늘의 쿠키를 읽고 페이지 재방문 시에 팝업창을 다시 열지 않게 하는 버튼을 작동하게 하는 자바스크립트 소스입니다. 해당 부분에 HTML을 작성하고 별도의 CSS를 설정한 후, 자바스크립트로 팝업창을 연동할 수 있습니다.

HTML

<div class="top-pop-wrap">
    <div class="top-pop-box">
        <div>
            팝업 이미지 또는 내용(컨텐츠)
        </div>
        /* 닫기버튼*/
        <a href="#a" title="닫기" class="btn-pop-close">
        <span class="hide">닫기</span>
        </a>
        <p class="do-not-open-box">
            <input type="checkbox" id="do-not-open" />    
            <label for="do-not-open" title="오늘 그만 보기"></label>
        </p>
    </div>
</div>

JavaScript

//======================================================================
//자바스크립트 팝업 버튼 작동
//======================================================================
App.TopPop.init();

var App = new Object();

App.TopPop = function () {
    var self;
    return {
        init: function () {
            self = this;

            // popup close
            $('.btn-pop-close').on('click', function() {
                if($('#do-not-open').is(':checked')) {
                    self.setCookie('todayCookie', 'done', 1);
                }
                $('.top-pop-wrap').slideUp();
            });

            // Do not open today.
            self.getCookie();
        },
        setCookie: function(name, value, expiredays) {
            var todayDate = new Date();
            todayDate.setDate(todayDate.getDate() + expiredays);
            document.cookie = name + '=' + escape(value) + '; path=/; expires=' + todayDate.toGMTString() + ';'
        },
        getCookie: function() {
            var cookiedata = document.cookie;
            if (cookiedata.indexOf('todayCookie=done') < 0 ){
                $('.top-pop-wrap').show();
            } else {
                $('.top-pop-wrap').hide();
            }
        }

    }
}();
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.