中午吃饭时,想起来自己又忘记打卡了,积分又要从头来过了。
如果设置日程提醒,三天一次,一个月大概要设置10个提醒,有点啰里啰嗦的。
于是我开始思考,周期性的事情,怎么设置提醒比较好呢?如果我只需要输入一个日期就能知道这一个月的时间安排,即便不再手机上设置提醒,也能知道哪些时间需要去做这件事,即简单又省力。又是被自己智慧折服的一天。
功能点 | 支持程度 | 备注 |
---|---|---|
是否支持输入 | ✅ | |
是否支持一个月为一个周期 | ✅ | |
是否支持维度输入 | ✅ | 待开发 |
是否支持跨月 | ❌ | |
是否列出所有的日期 | ✅ | |
是否支持日历格式回显 | ❌ | 待开发 |
是否允许输入小于1的值 | ❌ | 给出提示 |
是否允许输入大于当前月的总天数的值 | ❌ | 给出提示 |
注:
1.目前不支持跨月,但是有一种情况可以展示第二个月日期,就是(输入的值+3)大于当前月的总天数时可以展示到下个月的某一天。
<input class="input-item" type="number" name="day" max="31" min="1" step="1" id="inputItem" />
平时计算日期基本靠数手指头,但是码代码就不一样了,可以靠代码完成计算。
没有获得值
// 跨月处理
if (Number(inputVal) + 3 > monthDayNum) {
let moreNum = Number(inputVal) + 3 - Number(monthDayNum);
let moreVal = year + '-' + (monthShow + 1) + '-' + moreNum;
dateListAll.push(moreVal);
}
可以获得值
let diffNum = (monthDayNum - Number(inputVal)) / 3;
let integerNum = Math.trunc(diffNum);
for (var i = 1; i <= integerNum; i++) {
let integetStep = i * 3 + Number(inputVal);
let integetStepVal = year + '-' + (monthShow + 1) + '-' + integetStep;
dateListAll.push(integetStepVal);
}
未完待续功能。
完整的功能设计是展示日历,将所有的日期进行高亮显示。但是原生写代码量还有点多,所以周末好好设计一下实现方式。大致思路已经有了。
敬请期待~
有时候很日常的事情,也可以通过有趣的方式实现,比如用画笔,比如用代码。
小功能,大能量。刚才输入了日期,确定了这个月所有需要日期,截图贴在了微信里面做备忘,瞬间来了安全感。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。