首页 > 解决方案 > 到下午 5 点时自动显示弹出窗口而不刷新(实时)

问题描述

我在网上搜索得到我的结果,但我无法找到任何正确的解决方案。我希望我的页面在每天下午 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。

标签: javascriptjqueryhtmlajaxcookies

解决方案


你需要使用计时器

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);

推荐阅读