css 如何在javascript中绑定我当前的弹出窗口代码,使其每天只显示一次弹出窗口?

fjnneemd  于 2023-01-14  发布在  Java
关注(0)|答案(2)|浏览(135)

我使用下面的代码在我的主页上显示一个弹出窗口。但问题是,它显示每次用户重新加载页面。而不是我希望每天显示一次。下面是代码:

$(document).ready(function() {
  $("#myModal").modal('show');
});
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>

<div id="myModal" class="modal fade" style="padding-top:30%;">
  <div class="modal-dialog">
    My Content of pop up is here.
  </div>
</div>

我试着把它绑定到cookie过期,但我做不到。

vmdwslir

vmdwslir1#

您可以使用浏览器的本地存储来存储上次显示模态的时间戳。
然后,当页面加载时,检查当前日期的时间戳,如果日期不同,则显示模态,否则不显示。
下面是一个例子:

$(document).ready(function() {
 var lastShown = localStorage.getItem('modalShown');
 var currentDate = new Date().toDateString();

 if (lastShown !== currentDate) {
  $("#myModal").modal('show');
  localStorage.setItem('modalShown', currentDate);
 }
});
lhcgjxsq

lhcgjxsq2#

你可以这样做

$(document).ready(function() {
  var todayCodeRecord = localStorage.getItem('today')
  var todayCode = new Date().toLocaleDateString()
  if(todayCodeRecord !== todayCode) {
    $("#myModal").modal('show');
    localStorage.setItem('today', todayCode)
  }
});

相关问题