Popup mit Cookie-Timeout

Wir benötigen ein Popup. Nachdem es geschlossen wurde, soll es für die nächste Stunde nicht mehr angezeigt werden. So könnte man das Problem relativ einfach lösen.

$(function () {
    var now = new Date();
    var myCookies = {};
    var browserCookies = document.cookie.split('; ');

    for (var i = 0; i < browserCookies.length; i++) {
        var cookieChunks = browserCookies[i].split('=');
        myCookies[cookieChunks[0]] = cookieChunks[1];
    }

    var cookieTimeout = (now.getHours() + 1) + '' + now.getMinutes();

    if ('undefined' !== myCookies['WS_POPUP_CLOSED'] && cookieTimeout >= myCookies['WS_POPUP_CLOSED']) {
        return;
    }

    setTimeout(function () {
        $('.ws-popup').addClass('ws-popup--visible');
    }, 1000);

    $('.ws-popup__button-close').on('click', function () {
        document.cookie = 'WS_POPUP_CLOSED=' + now.getHours() + '' + now.getMinutes() + ';';
        $('.ws-popup').removeClass('ws-popup--visible');
    });
});