【问题标题】:How to make invisible countdown, that continiues after the page is closed?如何进行隐形倒计时,在页面关闭后继续?
【发布时间】:2016-10-29 18:53:02
【问题描述】:

主要思想是当用户单击按钮时,开始在未显示的计数器上倒计时并设置元素样式不显示任何按钮并显示段落的内联块,通知您单击了按钮。当倒计时得分为 0 时,再次显示该按钮。如果您关闭页面,计数器将继续倒计时。如果您关闭页面,然后再次打开它,并且计数器不为 0,但它会显示另一条消息告诉您 wai 更多。请帮忙!我该怎么做?

【问题讨论】:

  • 页面一关闭,你的 JavaScript 代码就会被杀死。当会话被 cookie 或 localStorage 终止时,您可以跟踪计时器所在的位置,但在会话被切断时无法保持计时器继续运行。

标签: javascript jquery html css counter


【解决方案1】:

你可以这样做:

  • 将启动时的日期和时间存储在 localStorage 中
  • 在每个计数器间隔,将步长(分钟、秒等)存储在 localStorage 中
  • 在页面加载时,读回存储的值,计算并相应地设置您的按钮和消息

正如Brad 评论的那样,你实际上只需要存储开始时间戳

【讨论】:

  • 存储计数器和时间听起来像是获胜的组合。
  • 你只需要起始时间戳。
【解决方案2】:

当用户访问网站时,检查本地存储变量,该变量将是时间戳,如果未设置,它将是未定义的。如果用户之前访问过该站点并且时间戳变量存在于本地存储中,则您可以从现在开始计算时间差异和时间戳,以计算倒计时剩余的时间以用于显示目的。一旦时间到期,删除本地存储变量。如果用户之前没有访问过该页面并且没有单击按钮,一旦他们单击按钮...继续设置一个本地存储变量,该变量是单击按钮时的时间戳。

【讨论】:

  • 在这种情况下不需要服务器。我们有localStorage
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-01
  • 1970-01-01
相关资源
最近更新 更多