如何在一段时间后从localStorage中删除一些东西?

时间:2018-06-04 03:57:18

标签: javascript jquery local-storage

我有一个基本表单,要求加入一个电子邮件列表,当有人提交时我会消失,而不是通过在localStorage中隐藏ID来重新显示。如果用户不想注册电子邮件,我也有一个按钮可以让div消失,也可以在localStorage中完成。这两个点击事件都会触发'hideEmail()'

是否可以通过检查id放置在localStorage中的时间来反转隐藏id,如果超过x则将其更改回来?

function hideEmail() {
    $('#footer').hide();
    localStorage.setItem('hidden', 'true'); //store state in localStorage
}

$(document).ready(function(){
    var hidden = localStorage.getItem('hidden');
    if(hidden === 'true'){
        $('#footer').hide();
    }
});

2 个答案:

答案 0 :(得分:0)

您指的是,当用户关闭页面时,以及当用户重新打开页面时,检查用户是否已超过时间限制,以便取消隐藏页脚?

如果是这样,想要使用 cookies 。你可以这样定义它们:

var d = new Date();
var username = "any_username";
// Set cookie to expire in, say, 4 days. Then you can do an if statement and check if cookie is expired, so you can set hidden to false.
document.cookie = "username=" + username + ";expires=" + d.getDate()+4+";";

答案 1 :(得分:0)

对先前提出的问题的回答使我得到了解决方案。

https://stackoverflow.com/a/4275854/7822433