2021-06-19 14:53:54
1035
https://demo.ivx.cn/
2025-09-10 21:57:39
c36kfd6l6t146mtc75bg
[{"insert":"季节性照片日历的功能:\n1. 能够根据季节显示对应的主题颜色。\n2. 可以填写日备注和月备注。\n3. 可以自定义输入年份,切换月份。\n4. 可以指定每周以周一开始还是周日开始。\n \n实现方法:\n \n一.全局变量\n首先我们设定几个全局变量。其中年份和月份分别为当前选中的年和月(月份取值范围为0-11);模式为0代表每周从周日开始,模式为1代表每周从周一开始;月日历中每行数据代表该月的一天,date和month是当天的日期和月份,备注为日备注;年日历中每行数据代表行号所对应的月份,月日历字段为当月的月日历表,备注为月备注。\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/36a35539ea2d80bb37730ce5e2b6c0db_7339_282_193.png"}},{"insert":"\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/918317499f21da9f86dd83abe89293c3_19183_485_295.png"}},{"insert":"\n\n二. 主题颜色\n我们选取深浅两套对应四季的颜色,然后按照1至12月的顺序存在对象数组中。这样每个月份通过自己的序号即可取得对应的颜色。(这种做法可以单独指定每个月的主题颜色,但其实如果只有四种颜色也可以先对月份进行模11运算,然后将结果除3并四舍五入取整,将0-11映射到0-3,这样就不需要存储重复的颜色数据。)\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/86d5b9e2a4dff9a40d353a7dc35c280c_21993_1102_213.png"}},{"insert":"\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/7492419ad7a6b38db07136588c5e6bff_48859_978_830.png"}},{"insert":"\n\n做法二:\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/381aed0830bbda80309ead7de5bde4bf_28263_607_358.png"}},{"insert":"\n\n三.年日历表的生成\n输入年份后,我们通过两次循环生成年日历表,第一次循环取固定值12次,对应一年12个月。每次循环我们将该月的第一天赋值给时间变量,然后通过时间变量拿到该月的天数,以此为第二层循环的循环次数。第二层循环中我们每次给月日历表添加一行数据,完成后将月日历表填到年日历表中\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/1908a30a0a0453c6a960c14943411c0d_76194_943_815.png"}},{"insert":"\n\n四.月日历表的生成\n \n1.基本数据\n首先从demo可以看到每个月除了当月的天数外还会显示前后两个月的一些天数,而且随着每周以不同星期开始还会有一些区别,但天数总和是固定的37天以及额外的一个月备注。所以,我们先从年日历表中把当月的月日历表输出作为基本数据,然后通过前插使每周开始为设定的星期几,再通过后插将天数补足37天。\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/2ee835ca89c7fbff882644be470bc22e_6701_796_121.png"}},{"insert":"\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/9a8dca77bb6cc8e587d29821a838d45a_15391_1015_144.png"}},{"insert":"\n\n2.第一次判断tag及备注同步\n我们将该月的第一天赋值给时间变量并通过时间变量判断当天是星期几,由于时间变量的星期几对应0-6,而其中0又代表星期日,根据我们之前指定的模式的取值含义,当模式等于时间变量的星期时,就代表不需要再进行前插操作了,将前插标志参数tag设为1。\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/6c18412d804e62a2c275b37d9689e5f4_33712_1023_306.png"}},{"insert":"\n\n3.条件循环中的前插,后插\n条件循环的终止是由两个条件共同判定的,tag=0或月日历表行数小于37条件循环都会继续进行。\n \n首先是前插的条件分支。这里有两种情况:第一种,当月为1月,那么前插的是前一年12月的日期,所以就将时间变量赋值为它的前一天,然后将其日期月份数据添加到月日历的开头;第二种,当月为1月以外的月份,则从上一个月的月日历中抽取最后一行数据赋值给时间变量并添加到月日历的开头,然后将上一个月的月日历最后一行删除。最后需要判断一下该天的星期是否满足设定模式,如果满足则tag置为1。\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/6c189153709297790add6cd08756d21c_89977_868_792.png"}},{"insert":"\n\n接下来是后插的条件分支。这里也有两种情况:第一种,月份为12月,那么后插的日期是下一年1月的日期,我们直接在月日历的末尾添加一行数据,然后使标记date加一即可;第二种,月份为12月以外的月份,我们将下个月的月日历首行数据添加到月日历末尾,然后将下个月的月日历中的首行删除。最后条件循环结束时即可得到我们需要的月日历表。\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/91eda09e2ed7aebd43b4b7fe42baf69f_57806_872_557.png"}},{"insert":"\n\n五. 备注填写\n \n1.日备注\n日备注的话,我们需要更新两个地方,全局变量月日历和年日历。月日历的话我们直接通过条件限定更新数据即可,年日历则是将月日历中当月的数据筛选输出并赋值到年日历表中。\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/f110eb3f4042e6963e4b40369cd1330c_71951_1103_685.png"}},{"insert":"\n\n2.月备注\n月备注填写后直接赋值到年日历表中该月的月备注字段即可。\n"},{"insert":{"image":"//file3.ih5.cn/v35/files/f29ae5f49dce52e5ea8cfe4fa2a7d523_24312_1081_351.png"}},{"insert":"\n"}]
[{"insert":"照着EXCEL模板中的《季节性照片日历》制作。\n"}]
季节备忘日历,以月为单位进行备忘记录
季节备忘日历
季节备忘日历
季节备忘日历
2021-06-22 16:31:26
111
null
1
0
196
5ded4ff28e318f20f13ed7bd3474cf99_58852_1461_862.png
网站系统
朱芮
2
0
10715998
3941
324
435
已上架
应用
1
张智威
https://file534d9d21d2e4.v4.h5sys.cn/play/jUcYB9qV
PC