我正在尝试使用jQuery cookie设置cookie,以便将显示新访问者的警报,当您单击"关闭"按钮时,它将设置cookie并防止警报div显示。我也想让饼干在24小时后到期。
我已经播放了一些代码并使其工作起作用,但是,我现在的使用方式,默认情况下显示了警报div,只有在您单击关闭后才隐藏。这很好,但是当cookie存在时,警报在隐藏之前显示一秒钟。
我将如何修改以下代码,以便默认情况下隐藏DIV,如果不存在cookie,则会显示出来,但是如果它们点击关闭按钮,它将生成cookie并隐藏警报24小时?
if ($.cookie('alert')) $('.alert-box').hide();
else {
$(".close").click(function() {
$( ".alert-box" ).slideUp( "slow", function() { });
$.cookie('alert', true);
});
}
您默认可以使用CSS隐藏警报框,并在没有cookie时使用JavaScript显示:
CSS:
.alert-box {
display: none;
}
javaScript:
// if no cookie
if (!$.cookie('alert')) {
$( ".alert-box" ).show();
$(".close").click(function() {
$( ".alert-box" ).slideUp( "slow" );
// set the cookie for 24 hours
var date = new Date();
date.setTime(date.getTime() + 24 * 60 * 60 * 1000);
$.cookie('alert', true, { expires: date });
});
}