单击关闭按钮7天后显示的Cookie

时间:2018-07-05 09:29:34

标签: cookies setcookie

我希望在单击关闭并清除用户的7天后弹出窗口。

当用户单击关闭按钮时,永远不会向用户显示弹出窗口 在这里你可以看到我想要的 (https://9zest.com/stroke) 当我单击“订阅”并跳到下一个弹出窗口并按“关闭”按钮时,它再也不会出现,但是第一个选项没有发生

$(function() {
        if (!$.cookie('hide')) {
            window.setTimeout(function() {
                $('#newsletter').show();
                $('#newsletter').ready(function() {
                    $('.backdrop, .box').animate({
                        'opacity': '.50'
                    }, 300, 'linear');
                    $('.box').animate({
                        'opacity': '1.00'
                    }, 300, 'linear');
                    $('.backdrop, .box').css('display', 'block');
                });

                $('.close_btn').click(function() {
                    close_pop();
                });
            }, 90000);
        }
    });
    function close_pop() {
        $('.backdrop, .box').animate({
            'opacity': '0'
        }, 300, 'linear', function() {
            $('.backdrop, .box').css('display', 'none');
        });

        $.cookie('hide', true);
        return false;
    }

    (function(factory) {
        if (typeof define === 'function' && define.amd) {
            // AMD. Register as anonymous module.
            define(['jquery'], factory);
        } else {
            // Browser globals.
            factory(jQuery);
        }
    }(function($) {

        var pluses = /\+/g;

        function raw(s) {
            return s;
        }

        function decoded(s) {
            return decodeURIComponent(s.replace(pluses, ' '));
        }

        function converted(s) {
            if (s.indexOf('"') === 0) {
                // This is a quoted cookie as according to RFC2068, unescape
                s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
            }
            try {
                return config.json ? JSON.parse(s) : s;
            } catch (er) {}
        }

        var config = $.cookie = function(key, value, options) {

            // write
            if (value !== undefined) {
                options = $.extend({}, config.defaults, options);

                if (typeof options.expires === 'number') {
                    var days = options.expires,
                        t = options.expires = new Date();
                    t.setDate(t.getDate() + days);
                }

                value = config.json ? JSON.stringify(value) : String(value);

                return (document.cookie = [
                    config.raw ? key : encodeURIComponent(key),
                    '=',
                    config.raw ? value : encodeURIComponent(value),
                    options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
                    options.path ? '; path=' + options.path : '',
                    options.domain ? '; domain=' + options.domain : '',
                    options.secure ? '; secure' : ''
                ].join(''));
            }

            // read
            var decode = config.raw ? raw : decoded;
            var cookies = document.cookie.split('; ');
            var result = key ? undefined : {};
            for (var i = 0, l = cookies.length; i < l; i++) {
                var parts = cookies[i].split('=');
                var name = decode(parts.shift());
                var cookie = decode(parts.join('='));

                if (key && key === name) {
                    result = converted(cookie);
                    break;
                }

                if (!key) {
                    result[name] = converted(cookie);
                }
            }

            return result;
        };

        config.defaults = {};

        $.removeCookie = function(key, options) {
            if ($.cookie(key) !== undefined) {
                // Must not alter options, thus extending a fresh object...
                $.cookie(key, '', $.extend({}, options, {
                    expires: -1
                }));
                return true;
            }
            return false;
        };}));

0 个答案:

没有答案