我希望只在初始加载时有一个容器div淡入,当我点击链接div时,它会链接回主页,但不会触发淡入淡出。我一直在尝试使用cookies,但我不熟悉它,它似乎不起作用(fadein总是触发无关紧要的东西)。有人可以帮忙吗?
http://codepen.io/alga/full/vKEuL
JQUERY:
if ($.cookie('cookie_set')) {
$('#container').css('opacity', 1);
} else {
$.cookie('cookie_set');
$("#container").delay(1000).animate({
opacity: 1
}, 2000);
}
CSS:
#container {background:blue;opacity:0;width:100px;height:100px;}
HTML:
<div id="container"></div>
<div id="link"><a href="http://codepen.io/alga/full/vKEuL">back</a></div>
答案 0 :(得分:0)
你需要通过向$.cookie()
调用传递第二个参数来为cookie设置一个值,否则cookie的值将不会被设置
if ($.cookie('cookie_set')) {
$('#container').css('opacity', 1);
} else {
$.cookie('cookie_set', '1');
$("#container").delay(1000).animate({
opacity: 1
}, 2000);
}
演示:Fiddle
如果只传递一个参数,那么in将被视为getter请求,那么如果cookie已经存在,那么将返回该值,否则将返回undefined - 在这种情况下不会设置该值。
您需要将cookie设置为某个值,以便在第二次执行期间找到cookie。
答案 1 :(得分:0)
替换代码:
#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);
}