如何使用带超时的localStorage创建元素显示和隐藏

时间:2016-06-19 11:30:47

标签: javascript jquery html css

我是Javascript的新手,我想创建以下代码:

enter image description here

基本上,我正在尝试获取可在需要时由用户关闭的自定义内容。我听说这可以使用localStorage和超时时间来完成。

用户点击关闭按钮后,它会一直隐藏在DOM中,直到计时器到期,比如2-3天,然后再次出现在页面中。

我该如何去做?

希望得到一些帮助。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用localStorage。 更容易的方法是使用cookie,在cookie上你可以设置过期时间,它将被自动删除。

使用localStorage它看起来像这样:

// User has clicked in the past
if (localStorage.userClickExpiration) {
    if (Date.now() > parseInt(localStorage.userClickExpiration)) {
        // Time expired, reset the localStorage and show the element
        localStorage.removeItem('userClickExpiration');
        $('.element').show();
    } else {
        $('.element').hide();
    }
}

// User click handler
function handleClick() {
    // Store the time when the auto hide will be expired, now + 2 days in milliseconds
    localStorage.userClickExpiration = Date.now() + (2 * 24 * 60 * 60 * 1000);

    // Hide the element using jQuery
    $('.element').hide();
}