我不知道这是否是一个以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');
});
});
第一次加载页面时,模态会按预期显示。当我关闭它并重新加载页面或转到另一页时,它会再次显示,这是不可取的。
答案 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
}