提醒我约会的功能
function reminding me about a date
我有一个函数,它表示一个从开始日期起两周的日期,按每一个经过的星期四计算,但不包括日期所在周的星期四。
function GetThursdayIn2Weeks(date)
{
var day = date.getDay();
// Add 2 weeks.
var newDate = new Date(date.setTime(date.getTime() + (14 * 86400000)));
// Adjust for Thursday.
var adjust = 4 - day;
if (adjust <= 0) // Might need to be changed - See comments!
adjust +=7;
// Apply Thursday adjustment.
newDate = new Date(newDate.setTime(newDate.getTime() + (adjust * 86400000)));
return newDate;
}
我该如何让它在流程开始一周后的每一天都引发一个不同的功能,提醒我即将到来的预产期,但在流程结束之前?
您可以使用setTimeout()
在设定的时间后执行提醒。然而,问题是您的javascript环境可能不会持续运行这么长时间,无论是node.js还是您的浏览器。
我建议采用以下机制:
- 使用给定的代码计算目标日期后,将其存储在localstorage中
- 定义一个函数,该函数将使用
setTimeout()
来定义给定目标日期的下一次提醒 - 加载页面时,对本地存储中存储的每个日期使用该函数
- 当一个日期被添加到本地存储时,或者给定的目标日期到达其提醒之一时,调用该特定日期的函数
上述功能应为第一天设置一个计时器,该计时器同时大于当前日期,大于目标日期前一周的日期,并低于目标日期。
这是一个"希望"工作的JSFiddle。
相关文章:
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 删除CKEditor工具栏按钮,但不删除功能
- 异步facebook功能
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- jQuery滚动功能只工作一次
- Graphiti中是否有任何工具提示功能
- React redux初始化功能,无论状态变化如何
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 正在获取select上的功能id
- Rhino打印功能
- 使用(navigator.geolocation)检测浏览器功能错误
- 主体单击删除功能上的输入框宽度
- 使用JavaScript功能显示今天的约会/日期
- 提醒我约会的功能