FlexoCalendar周日历跨月出错的解决方法

2025-11-02 13:48:01

1、下图是默认的情况,2017-12-25,2017-12-31正常,没出问题。

FlexoCalendar周日历跨月出错的解决方法

2、下图是用户选择第二周之后出现了错误,应该是2017-12-10变成2018-12-10.

FlexoCalendar周日历跨月出错的解决方法

3、接着我又看了2018年12月,依然出现错误。很明显是写这个日历控件的人把年份多加了一年,来看看这段代码在哪里,在FlexoCalendar.js文件我们可以看到:

endYear = startMonth == 12 ? startYear + 1 : startYear ;

原来是当12月份时,大神把每一个周的endYear都加了1,明显不对,那我们稍微修改一下:

endYear = startMonth == 12 ? startYear  : startYear ;

(继续看,没完,有的不对)

FlexoCalendar周日历跨月出错的解决方法

4、这样貌似对了,但是我们要想象一下大神为什么会有个加一呢,哦,应该是当第五周中如果出现了下一年的日期就要加一,如下图(2016年12月):

FlexoCalendar周日历跨月出错的解决方法

5、很明显第五周中如果出现了下一年的日期,这样也会出错,那怎么改才会完全正确呢,那就是下面的代码了

FlexoCalendar周日历跨月出错的解决方法

6、把原来的一行代码换成上面我提供的,就没问题了,如下:

endYear = startMonth == 12 && parseInt(endDay)<7? startYear +1  : startYear ;

这下就好啦!

FlexoCalendar周日历跨月出错的解决方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢