本地存储 - 在wp页面上显示模态一次

时间:2016-09-12 20:05:09

标签: jquery wordpress local-storage

我不知道这是否是一个以wp为中心的问题,但我以前做过这个并且无法在WordPress环境中使用它。基本上,我想在第一次访问网站时显示模式对话框,而不是在同一会话中的后续访问中显示。

function slideIn() {
    jQuery('#overlay').fadeIn('fast');
}

function slideOut () {
    jQuery('#overlay').fadeOut('fast');
}
jQuery(function() {
    //local storage lasts until cache cleared
    if(sessionStorage.getItem('slideState') != 'shown'){
        slideIn();
        sessionStorage.setItem('slideState','shown');
    }
    jQuery(document).on('click', '#popInClose', function(e){
        slideOut();
        e.preventDefault();
        sessionStorage.setItem('slideState','shown');
    });
});

第一次加载页面时,模态会按预期显示。当我关闭它并重新加载页面或转到另一页时,它会再次显示,这是不可取的。

1 个答案:

答案 0 :(得分:2)

您只需设置一些默认值并从中进行操作即可。这样的东西会起作用。

    var state = (sessionStorage.getItem('seen') == 'seen') ? 'seen' : 'unseen'; 
    if (state == 'seen') { 
        slideOut(); //Or whatever to hide the modal
    }
    else { 
        slideIn(); //Or whatever to show the modal
        sessionStorage.setItem('seen','seen'); //Set state as seen
    }