jQuery Cookie隐藏/显示div

use*_*286 2 html javascript css cookies jquery

我正在尝试使用jQuery Cookie设置cookie,以便为新访问者显示警报,当您单击"关闭"按钮时,它将设置cookie并阻止警报div显示.我还想让cookie在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);
    });
}
Run Code Online (Sandbox Code Playgroud)

Skw*_*wal 8

您可以使用CSS默认隐藏警告框,并在没有cookie时使用JavaScript显示它:

CSS:

.alert-box {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

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 });
    });
}
Run Code Online (Sandbox Code Playgroud)