javascript - 到下午 5 点时自动显示弹出窗口,无需刷新(实时)

标签 javascript jquery html ajax cookies

我在网上搜索了结果,但没有找到任何正确的解决方案。 我希望我的页面每天下午 5:00 之前自动显示弹出窗口,而无需刷新页面。 因此,如果我在下午 4:50 或下午 5:00 之前访问某个页面,一旦我仍在该页面上,它应该会自动弹出一个 div,而无需刷新页面。

我尝试使用此代码,但我必须在其工作之前刷新页面,这似乎效率不高。

  $(document).ready(function() {      
      var currentTime = toUTC(new Date());

      var startTime = toUTC(new Date());
      var endTime = toUTC(new Date());

      startTime.setHours(20);
      startTime.setMinutes(10);
      startTime.setSeconds(59);
      endTime.setHours(20);
      endTime.setMinutes(0);
      endTime.setSeconds(0);

      var currentTimez = (currentTime.getHours() + 1);

      if (currentTimez == 20 && currentTime.getMinutes() == 20){
          popup();
      }
  });

  function popup() {
      alert("Thanks")
  }

  function toUTC(inDate) {
      inDate.setMinutes(inDate.getMinutes() + inDate.getTimezoneOffset());
      return inDate;
  }

我不介意是否必须访问数据库才能完成此操作或使用 cookie。

最佳答案

你需要使用计时器

var current = new Date();
var fivePM = new Date(current.getYear(), current.getMonth(), current.getDayOfMonth());
fivePM.setHour(17);
if (current < fivePM) {
  var diff = fivePM.getTime() - current.getTime();
}
var timerID = setTimeout(popup, diff);

关于javascript - 到下午 5 点时自动显示弹出窗口,无需刷新(实时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58826105/

相关文章:

php - 为什么我没有滚动条?

javascript - 使用 JavaScript 客户端的 SignalR 身份验证

jquery - 如何使用 jQuery 保存文件响应?

javascript - queryCommandValue ("FontSize"的替代方案)

jquery - 在 :fixed tablets only 位置发出

javascript - 如何使每个唯一的时间戳更新

jquery - 如何使用 jQuery 将背景图像 url 从一个 div 传递到另一个 div?

javascript - 单击按钮加载 html 模板脚本

javascript - 每个选项卡的 session - Google Chrome 扩展

javascript - 单页 Web 应用程序中的 CSRF 保护