gpt4 book ai didi

javascript - 如何创建一个在刷新时继续计数的javascript倒计时

转载 作者:行者123 更新时间:2023-11-29 18:30:53 25 4
gpt4 key购买 nike

我尝试使用 javascript 和 jquery,但不知道该怎么做。我不会让计时器不重新开始刷新计数。当他倒计时 3,2 时,这与拍卖相同,并且在刷新时他不会重新开始,它应该继续倒计时最后结束的地方。而在其他产品上,它必须再次从 3 开始计数。有什么想法吗?

编辑:因为一些用户误解了我正在搜索的内容。

我的问题是,当有人刷新页面继续倒计时时,我不知道如何节省时间。如果有人在 21 秒刷新网站,他或她有 30 秒的时间来做出选择。刷新站点后,计数器将在 21 秒倒计时,并且不会在 30 秒后再次启动。没有 Ajax 。

尽可能硬编码。如果不可能,则使用 cookie 变体。

最佳答案

您可以在加载页面时为您的窗口设置一个名称。在设置名称之前检查该窗口是否已经有一个名称。

如果没有名称,则为窗口设置名称并从 0 开始计数,每次递增时将计数值保存在 cookie 中。

如果它确实有名称(这意味着页面已重新加载),则从 cookie 中读取计数值并进行递增并保存到 cookie。

编辑:示例,在人体负荷上调用 initCount() 函数。使用 decrementAndSave 函数减少计数值并将其保存到 cookie。

var count = 3;// 3 -> 2 -> 1

function getCookie(c_name) {
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x == c_name) {
return unescape(y);
}
}
}

function setCookie(c_name, value, exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
document.cookie = c_name + "=" + c_value;
}

function initCount() {
if (window.name) {
count = getCookie("count_" + window.name);// to keep separate count cookies for each window
} else {
window.name = "w_" + (new Date().getTime());
count = 3;
setCookie("count_" + window.name, count, null);
}
}

function decrementAndSave() {
count--;
// separate cookie for each window or tab
setCookie("count_" + window.name, count, null);
}

关于javascript - 如何创建一个在刷新时继续计数的javascript倒计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8462387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com