javascript - jscript/html 在特定时间弹出
问题描述
我正在尝试在所有工作日和星期六的特定时间设置弹出消息。应该相当简单,我知道这可以使用数组等来完成,但请耐心等待,因为我对此有点陌生。
到目前为止,我所拥有的看起来像这样:
<script type="text/javascript">
var day = day.getday();
var hr = day.getHours();
if ((hr < 10) && (hr > 18) && (day == 1) || (hr < 10) && (hr > 18) && (day == 2) || (hr < 10) && (hr > 18) && (day == 3) || (hr < 10) && (hr > 18) && (day == 4) || (hr < 10) && (hr > 18) && (day == 5))
{
document.write("test");
}
任何帮助将非常感激。
解决方案
这是一个混乱的示例,显示了您可以采用的方法...并非所有代码路径都已完成(例如,如果已通过配置的小时/分钟,则连接明天的事件)但是...确实显示了一条消息如果那一天是星期日以外的任何一天,则在一天中配置的小时/分钟。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
var showPopup = function()
{
document.write("test");
alert("Show Message!");
};
var hookupAlert = function(targetHour, targetMin)
{
var nextAlert = null;
var now = new Date(); // Now.
var day = now.getDay(); // Returns 0-6 where 0=Sunday, 6=Saturday.
var hr = now.getHours(); // Returns 0-23.
var min = now.getMinutes(); // Returns 0-59.
// If a weekday or saturday.
if(day != 0)
{
// Is it before the target hour/min?
if(hr <= targetHour && min < targetMin)
{
nextAlert = new Date(now.getFullYear(), now.getMonth(), now.getDate(), targetHour, targetMin, 0);
}
else
{
// We've passed the target hour/min for the day...
// TODO: Possibly determine tomorrow (or if tomorrow is Sunday, the day after).
console.log("Passed the targetHour & targetMin for the day.");
}
}
if(nextAlert)
{
var diffInMs = Math.abs(nextAlert - now);
window.setTimeout(showPopup, diffInMs);
}
};
// Make the call to hook up the alert at 11:15.
hookupAlert(11, 15); // Hour between 0-23, Min between 0-59.
</script>
</body>
我希望这有帮助。
推荐阅读
- python - AttributeError:“namespace#”对象的属性“FileStream”是只读的
- spring-boot - 当我在春季启动 cosmosDb 中执行 repository.save 时,Mono 值是 MonoOnErrorResume
- typescript - 有没有办法使用 ECMAScript 私有字段在 Typescript 中实现 Singleton 类?
- java - 验证 max Int , max long 值
- python - 如何在openpyxl中从上到下在单元格中写入文本
- r - 使用 dplyr 对以字符串开头的列进行平均
- system - 在我的炸弹实验室问题中,%rsp、%rbp 是什么意思?
- javascript - 如何在 KendoUI Grid 中定义数据绑定,语法非常混乱?
- javascript - 使用 javascript 根据其属性从数组中删除对象
- c# - 部署发布 asp.net 核心应用程序的正确方法。控制台/IIS/WinService