javascript - jQuery Cookie 隐藏/显示 div

标签 javascript jquery html css cookies

我正在尝试使用 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);
    });
}

最佳答案

默认情况下,您可以使用 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 });
    });
}

关于javascript - jQuery Cookie 隐藏/显示 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21587098/

相关文章:

javascript - 显示带有图像的警报框

javascript - 单击项目以更改 Angular 链接时如何修复 getAttribute

javascript - 如何在向下滚动后一一删除具有相同类的元素?

jquery - 为什么我的图库 div 与 jQuery Mobile 页面元素重叠?

javascript - 如何针对 IE 进行优化?

jquery - 如何通过jquery获取当前输入字段索引

Javascript - 尝试获取数组原型(prototype)时获取 'undefined'

javascript - 我可以将 JavaScript 变量传递到另一个浏览器窗口吗?

javascript - Chrome 和 IE9 中出现不可见的 ILLEGAL TOKEN 错误,但 Firefox 中没有

html - 为什么 span 和 outdiv 之间有 1px 的空间