从星期一开始的星期日历 / Vanilla JS / 没有 jQuery
Calendar with weeks starting by Monday / Vanilla JS / without jQuery
我搜索了很多天如何制作一个日历(没有 plugin/library),周从星期一开始,几个月从星期日开始工作。这是我的解决方案。
使用此天序标签:
var days_labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
诀窍是当你定义一周的第一天(0 是星期天)时,使用这个:
var first_day = new Date(this.year, this.month, 1),
first_day_weekday = first_day.getDay() == 0 ? 7 : first_day.getDay();
用人类语言来说:如果first_day
是星期日(0),则使用7,否则使用初始值。
有了这个,所有循环都是正确的,并且每个月都能完美运行。完整示例:http://codepen.io/jacknumber/pen/RWLyQW
没有问题,供用户搜索此问题的帮助
谢谢
(随时纠正我的英语:))
在代码中,您需要定义月份开始的星期几。 Javascript 和其他编程语言一样,它的周从星期日开始。要更改工作日顺序,您可以使用新的天顺序定义一个数组。星期日 return 零(数组中的 Mon),因此将其设置为 7(数组中的Sun)。
长版:
var first_day = new Date(this.year, this.month, 1),
first_day_weekday;
if (first_day.getDay() == 0) {
first_day_weekday = 7;
} else {
first_day_weekday = first_day.getDay();
}
简短版本:
var first_day = new Date(this.year, this.month, 1),
first_day_weekday = first_day.getDay() == 0 ? 7 : first_day.getDay();
我搜索了很多天如何制作一个日历(没有 plugin/library),周从星期一开始,几个月从星期日开始工作。这是我的解决方案。
使用此天序标签:
var days_labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
诀窍是当你定义一周的第一天(0 是星期天)时,使用这个:
var first_day = new Date(this.year, this.month, 1),
first_day_weekday = first_day.getDay() == 0 ? 7 : first_day.getDay();
用人类语言来说:如果first_day
是星期日(0),则使用7,否则使用初始值。
有了这个,所有循环都是正确的,并且每个月都能完美运行。完整示例:http://codepen.io/jacknumber/pen/RWLyQW
没有问题,供用户搜索此问题的帮助 谢谢
(随时纠正我的英语:))
在代码中,您需要定义月份开始的星期几。 Javascript 和其他编程语言一样,它的周从星期日开始。要更改工作日顺序,您可以使用新的天顺序定义一个数组。星期日 return 零(数组中的 Mon),因此将其设置为 7(数组中的Sun)。
长版:
var first_day = new Date(this.year, this.month, 1),
first_day_weekday;
if (first_day.getDay() == 0) {
first_day_weekday = 7;
} else {
first_day_weekday = first_day.getDay();
}
简短版本:
var first_day = new Date(this.year, this.month, 1),
first_day_weekday = first_day.getDay() == 0 ? 7 : first_day.getDay();