Jquery 本地存储-在wp页面上显示一次模式
我不知道这是否是一个以wp为中心的问题,但我以前做过,无法在WordPress环境下工作。基本上,我想在第一次访问站点时显示一个模式对话框,而不是在同一会话中的后续访问时显示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
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
}