通过HTML-CSS-JS关闭div后隐藏它(刷新后不显示)

问题描述 投票:0回答:1

我想创建一个<div></div>,以便通过刷新一日中显示1或2次。我的意思是,如果人们在day(24 h)中刷新了我的网站9999次,他们将看到我的div 1或2次。我想在网站活动中使用这个div喜欢这个网站:this website is using this thing

当您关闭它时,您将无法再看到它

javascript jquery html css page-refresh
1个回答
0
投票

您可以将用户最后一次访问该页面的时间戳以及div出现的次数保存在localStorage中,将其命名为timesViewed。如果自上次保存的时间戳以来经过24小时,则清除变量timesViewed并重置为0。

这是一个示例,每5秒刷新一次Viewed。

localStorage.setItem('timesViewed', 0);

document.getElementById('button').addEventListener("click", () => {
  let lastTimeReset = localStorage.getItem('lastTimeReset');
  if (lastTimeReset === null) {
    localStorage.setItem('lastTimeReset', new Date());
  } else {
    lastTimeReset = new Date(lastTimeReset);
    lastTimeReset.setSeconds(lastTimeReset.getSeconds() + 5);
    let now = new Date();
    if (lastTimeReset < now) {
      localStorage.setItem('lastTimeReset', now);
      localStorage.setItem('timesViewed', 0);
    }
  }

  let timesViewed = Number(localStorage.getItem('timesViewed'));
  localStorage.setItem('timesViewed', timesViewed + 1);
  console.log(timesViewed);
});
<button id="button">Add Times Viewed</button>

它不会在堆栈溢出spinet上起作用,但会在jsFiddle上起作用:https://jsfiddle.net/c0rybtkm/

(堆栈溢出不允许访问localStorage)

© www.soinside.com 2019 - 2024. All rights reserved.