在弹出窗口中添加24小时Cookie使其根本不显示吗?

时间:2018-08-23 21:32:39

标签: javascript jquery css cookies

嗨,我的Stacklans。

我弹出了一个网站,该网站的运行效果很好。从onload的角落打开。这是一个工作示例:https://jsfiddle.net/zcp1sqk3/3/

但是,这是我遇到的问题。我需要添加一个cookie,使它在用户第一次看到它后24小时内不会显示。我尝试了以下方法:

    // if no cookie
    if (!$.cookie('alert')) {
        window.onload = function() {
          $('.sliderPopUp').toggleClass('open');
        };

        $('.closex').click(function() {
          $(".sliderPopUp").addClass("close");
          // set the cookie for 24 hours
          var date = new Date();
          date.setTime(date.getTime() + 24 * 60 * 60 * 1000); 
          $.cookie('alert', true, { expires: date });
        }); 
        $('img').removeAttr('title');
    }

但是它所做的就是使弹出窗口根本不显示。我似乎无法弄清楚为什么即使清除缓存时它也不会第一次显示...

1 个答案:

答案 0 :(得分:0)

想通了。

我发现具有$(document).ready函数,该函数在主体内部的脚本标签中包含$ .cookie,同时按预期将cookie js加载到头部下面的jquery中会导致$(document).ready beeing处理在Cookie插件完成加载之前。

我在$(document).ready脚本之前将cookie插件加载脚本移到了主体中,并且cookie起作用了:D