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

Jquery 本地存储-在wp页面上显示一次模式,jquery,wordpress,local-storage,Jquery,Wordpress,Local Storage,我不知道这是否是一个以wp为中心的问题,但我以前做过,无法在WordPress环境下工作。基本上,我想在第一次访问站点时显示一个模式对话框,而不是在同一会话中的后续访问时显示 function slideIn() { jQuery('#overlay').fadeIn('fast'); } function slideOut () { jQuery('#overlay').fadeOut('fast'); } jQuery(function() { //local st

我不知道这是否是一个以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');
    });
});

当我第一次加载页面时,模式会按预期显示。当我关闭它,或者重新加载页面或者转到另一个页面时,它会再次显示,这是不需要的。

您只需要设置一些默认值,然后使用它们即可。像这样的东西会有用的

    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
    }

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

    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
    }