在我第一次访问该页面时单击 .popup-close 后,如何禁止弹出窗口在给定页面上显示 2 天?
How to disable popup from showing up on given page for 2 days after I click .popup-close on first visit to that page?
如何在我首次访问该页面时单击 .popup-close 后 2 天禁止弹出窗口在该页面上显示?
这是我的代码https://jsfiddle.net/4q1aL8pL/2/
我在代码的第 122-140 行之间尝试了 localstorage。我是javascript初学者请帮忙:)
也许必须应用一些计时器,这将计算为 2 天的小时数?
//<![CDATA[
var n = Number(localStorage.getItem('odometerValue')) || 0;
var m = localStorage.getItem('displayNone');
var myOdometer;
function startcounting () {
var div = document.getElementById("odometerDiv");
myOdometer = new Odometer(div, {value: n, digits: 6, tenths: true});
myOdometer.set(n);
update();
}
function update () {
n=n+0.01
myOdometer.set(n);
localStorage.setItem('odometerValue', n);
localStorage.setItem('displayNone', m);
setTimeout(update, 200);
}
//]]>
您可以使用本地存储来保存弹出窗口加载的日期。
var d = new Date();
这将标记当前日期,然后您所要做的就是再次检查访问者的日期,如果减去它们,则等于 2 天再次弹出。
这是一个使用cookies的函数。
/* Show popup if cookie doesn't exist. Will hide for 2 days if closed */
var PopUpCookie = getCookie("MyPopUpCookie");
if (PopUpCookie == '') {
$('#odometerDiv').show();
} else {
$('#odometerDiv').hide();
}
}
$('.popup-close').on('click', function () {
$('#odometerDiv').hide();
setCookie("MyPopUpCookie", "hide");
});
function setCookie(cname, cvalue) {
var d = new Date();
d.setTime(d.getTime() + (2*24*60*60*1000); /* 2 days */
var expires = "expires=" + d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return "";
}
如何在我首次访问该页面时单击 .popup-close 后 2 天禁止弹出窗口在该页面上显示?
这是我的代码https://jsfiddle.net/4q1aL8pL/2/
我在代码的第 122-140 行之间尝试了 localstorage。我是javascript初学者请帮忙:)
也许必须应用一些计时器,这将计算为 2 天的小时数?
//<![CDATA[
var n = Number(localStorage.getItem('odometerValue')) || 0;
var m = localStorage.getItem('displayNone');
var myOdometer;
function startcounting () {
var div = document.getElementById("odometerDiv");
myOdometer = new Odometer(div, {value: n, digits: 6, tenths: true});
myOdometer.set(n);
update();
}
function update () {
n=n+0.01
myOdometer.set(n);
localStorage.setItem('odometerValue', n);
localStorage.setItem('displayNone', m);
setTimeout(update, 200);
}
//]]>
您可以使用本地存储来保存弹出窗口加载的日期。
var d = new Date();
这将标记当前日期,然后您所要做的就是再次检查访问者的日期,如果减去它们,则等于 2 天再次弹出。
这是一个使用cookies的函数。
/* Show popup if cookie doesn't exist. Will hide for 2 days if closed */
var PopUpCookie = getCookie("MyPopUpCookie");
if (PopUpCookie == '') {
$('#odometerDiv').show();
} else {
$('#odometerDiv').hide();
}
}
$('.popup-close').on('click', function () {
$('#odometerDiv').hide();
setCookie("MyPopUpCookie", "hide");
});
function setCookie(cname, cvalue) {
var d = new Date();
d.setTime(d.getTime() + (2*24*60*60*1000); /* 2 days */
var expires = "expires=" + d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return "";
}