javascript - 到下午 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。
解决方案
你需要使用计时器
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);
推荐阅读
- django - __init__() takes 1 positional argument but 8 were given
- python - Numpy直方图数据:为什么bins向量的长度比直方图值向量长?
- python - 来自函数的访问列表
- deep-learning - 在 Pytorch 上连接 googlenet 的分支(不同维度)
- python - 为什么我的 print() 输出打印在两行上?
- sql - SQL删除除了选择结果
- c# - 使用类库项目从 JSON 文件中读取数据
- asp.net-core - 从 Swagger Doc 中删除 AspnetVersioning ApiVersion
- javascript - Ramda:从谓词数组中拒绝
- python - 如何在不使用 XPath 的情况下使用 selenium 获取元素 Datetime?