Jquery - 关闭后一周不显示 div(弹出窗口)
Jquery - don't show div (popup) for a week after closing
我用时事通讯形式创建了这个弹出窗口,它会在屏幕滚动到一半时显示,点击 X 将不再显示。
如果有人再次打开该页面,我是否可以 "tell" 到 jquery 在 "X" 关闭后的一周内不显示此 div ?
https://www.centuryparklawgroup.com/popup-dev/
这是一个代码:
<script src="https://www.centuryparklawgroup.com/wp-content/themes/lawyers-attorneys-child/jquery1.11.3.js"></script>
<script>
function checkShowDiv() {
var top = $(window).scrollTop();
if ($(window).scrollTop() > $(window).height() / 2) {
$('.nslttppup:hidden').fadeIn('slow'); //prevent re-fades with :hidden
}
else {
$('.nslttppup').hide();
}
}
$(window).scroll(checkShowDiv);
</script>
<script>
$(document).ready(function() {
$('.closeform').click(function() {
$(window).unbind('scroll', checkShowDiv);
$(this).closest('.nslttppup').hide('fast');
return false;
});
});
</script>
您可以仅使用 cookie 或本地存储,如下例所示
我刚刚在点击关闭时设置了 cookie,因此 pupu 不会在 3 分钟后显示在滚动条上(您可以按天数或日期设置时间到期)
我在这里设置了一个变量 showPopup on ready ,通过读取一个 cookie,如果它存在并设置为 'no' 这样你的弹出窗口就不会显示在滚动条上
所以你的代码应该看起来像(由于 Whosebug 片段安全性,我们不能在这里做一个片段参见 Fiddle 完整代码)
这里是 Fiddle(在此示例中,cookie 在 3 分钟后过期)
我也用 jquery cookie plugin
var showPopup = true;
function checkShowDiv() {
var top = $(window).scrollTop();
if(showPopup) {
if ($(window).scrollTop() > $(window).height() / 2) {
$('.nslttppup').fadeIn('slow');
} else {
$('.nslttppup').hide();
}
}
}
$(document).ready(function() {
showCookieExist();
$(window).scroll(checkShowDiv);
$('.closeform').click(function() {
$(window).unbind('scroll', checkShowDiv);
$(this).closest('.nslttppup').hide('fast');
$.cookie('showpopup','no');
showPopup = false;
return false;
});
});
function showCookieExist() {
console.log($.cookie('showpopup'));
return $.cookie('showpopup');
}
我用时事通讯形式创建了这个弹出窗口,它会在屏幕滚动到一半时显示,点击 X 将不再显示。
如果有人再次打开该页面,我是否可以 "tell" 到 jquery 在 "X" 关闭后的一周内不显示此 div ?
https://www.centuryparklawgroup.com/popup-dev/
这是一个代码:
<script src="https://www.centuryparklawgroup.com/wp-content/themes/lawyers-attorneys-child/jquery1.11.3.js"></script>
<script>
function checkShowDiv() {
var top = $(window).scrollTop();
if ($(window).scrollTop() > $(window).height() / 2) {
$('.nslttppup:hidden').fadeIn('slow'); //prevent re-fades with :hidden
}
else {
$('.nslttppup').hide();
}
}
$(window).scroll(checkShowDiv);
</script>
<script>
$(document).ready(function() {
$('.closeform').click(function() {
$(window).unbind('scroll', checkShowDiv);
$(this).closest('.nslttppup').hide('fast');
return false;
});
});
</script>
您可以仅使用 cookie 或本地存储,如下例所示 我刚刚在点击关闭时设置了 cookie,因此 pupu 不会在 3 分钟后显示在滚动条上(您可以按天数或日期设置时间到期)
我在这里设置了一个变量 showPopup on ready ,通过读取一个 cookie,如果它存在并设置为 'no' 这样你的弹出窗口就不会显示在滚动条上
所以你的代码应该看起来像(由于 Whosebug 片段安全性,我们不能在这里做一个片段参见 Fiddle 完整代码)
这里是 Fiddle(在此示例中,cookie 在 3 分钟后过期) 我也用 jquery cookie plugin
var showPopup = true;
function checkShowDiv() {
var top = $(window).scrollTop();
if(showPopup) {
if ($(window).scrollTop() > $(window).height() / 2) {
$('.nslttppup').fadeIn('slow');
} else {
$('.nslttppup').hide();
}
}
}
$(document).ready(function() {
showCookieExist();
$(window).scroll(checkShowDiv);
$('.closeform').click(function() {
$(window).unbind('scroll', checkShowDiv);
$(this).closest('.nslttppup').hide('fast');
$.cookie('showpopup','no');
showPopup = false;
return false;
});
});
function showCookieExist() {
console.log($.cookie('showpopup'));
return $.cookie('showpopup');
}