javascript - 每次点击/提交按钮接受时,Cookie 消息仅显示一次

标签 javascript jquery html css

我需要有关 cookie 消息弹出窗口的帮助。我希望该消息只显示一次每个用户点击接受。 这是代码:https://jsfiddle.net/bz8ur3wu/1/

$(document).ready(function(){
    $("button").click(function(){
        $(".cookie").fadeOut();
    });
});
 .cookie{width:100%;padding:20px;background:rgb(231, 231, 231);bottom:0;left:0;position:fixed;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cookie">
    This website use cookies. 
    <button>accept</button>
</div>

最佳答案

作为替代解决方案,我建议使用 localstorage。查找 cookieconsent 值,如果找到,则将类添加到 body;否则在用户单击按钮时设置值。

$(document).ready(function(){
    if (!!localStorage.getItem("cookieconsent")) {
        document.body.classList.add("cookieconsent")
    } 
    else {
        $("button").click(function() {
            localStorage.setItem("cookieconsent", "ok")
            $(".cookie").fadeOut();
        });
    }
});

然后在您的 CSS 中仅当用户之前未接受时才显示 .cookie 元素,也就是说,如果 body 没有 .cookieconsent

.cookie { 
    display: none; }

body:not(.cookieconsent) .cookie {
    display: block;
}

关于javascript - 每次点击/提交按钮接受时,Cookie 消息仅显示一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50526865/

相关文章:

javascript - 如何通过使用 jquery 选择选项来显示和隐藏表单

javascript - 如何根据数据库的输出显示输入字段

python - 循环迭代过早终止的 BeautifulSoup 解析树元素列表

javascript - 在 animate() 之后使用时,jQuery text() 无法正常工作

jquery - Cordova 2.9.0 缺少执行 :Logger. logLevel

javascript - 无法弄清楚如何返回回调函数 - 需要替代解决方案

jquery - 在应用程序级别更改光标

javascript - 单选按钮更改事件并改进类似功能

javascript - 检查任务是否完成

javascript - 将图像和json对象写入剪贴板