Jquery cookies不工作:仅在初始加载时触发

Jquery cookies不工作:仅在初始加载时触发,jquery,cookies,onload-event,Jquery,Cookies,Onload Event,我只希望在初始加载时有一个容器div淡入,当我单击link div时,它会链接回主页,但不会触发淡入。我一直在尝试使用cookies,但我不熟悉它,而且它似乎不起作用(不管发生什么,fadein总是会触发)。有人能帮忙吗 JQUERY: if ($.cookie('cookie_set')) { $('#container').css('opacity', 1); } else { $.cookie('cookie_set'); $("#container").delay(1000).an

我只希望在初始加载时有一个容器div淡入,当我单击link div时,它会链接回主页,但不会触发淡入。我一直在尝试使用cookies,但我不熟悉它,而且它似乎不起作用(不管发生什么,fadein总是会触发)。有人能帮忙吗

JQUERY:

if ($.cookie('cookie_set')) {
$('#container').css('opacity', 1);
} else {
  $.cookie('cookie_set');
$("#container").delay(1000).animate({
    opacity: 1

}, 2000);
}
CSS:

HTML:

<div id="container"></div>

<div id="link"><a href="http://codepen.io/alga/full/vKEuL">back</a></div>

您需要通过将第二个参数传递给
$.cookie()
调用来设置cookie的值,否则将无法设置cookie的值

if ($.cookie('cookie_set')) {
    $('#container').css('opacity', 1);
} else {
    $.cookie('cookie_set', '1');
    $("#container").delay(1000).animate({
        opacity: 1

    }, 2000);
}
演示:

如果您只传递一个参数,那么in将被视为getter请求,如果cookie已经存在,那么将返回该值,否则将返回未定义的值-在这种情况下不会设置该值

您需要将cookie设置为某个值,以便在第二次执行期间可以找到cookie。

替换代码:

#container {background:blue; width:100px;height:100px;} /* remove the opacity */

var valueee = $.cookie('cookie_set');
if (valueee == 'the_value') {
   $('#container').show();
} else {
  $.cookie('the_cookie', 'the_value');
  $("#container").fadeIn(2000);
}

明亮的非常感谢。
#container {background:blue; width:100px;height:100px;} /* remove the opacity */

var valueee = $.cookie('cookie_set');
if (valueee == 'the_value') {
   $('#container').show();
} else {
  $.cookie('the_cookie', 'the_value');
  $("#container").fadeIn(2000);
}