-function addDaysOfMonth(tr, days)
+class Month
{
- let th = null;
- for (let i = 1; i < days + 1; i++) {
- th = document.createElement("th");
- th.innerText = i;
- tr.appendChild(th);
+ constructor(year, month) {
+ let date = new Date(year, month, 0)
+ this.year = year;
+ this.number = date.getMonth();
+ this.days = date.getDate();
+ const monthnames = [ "Januar", "Februar", "März", "April",
+ "Mai", "Juni", "Juli", "August", "September", "Oktober",
+ "November", "Dezember" ];
+ this.name = monthnames[this.number];
+ }
+
+ createMonthHeader() {
+ let month = document.createElement("th");
+ let span = document.createAttribute("colspan");
+
+ month.innerText = this.name;
+ span.value = this.days
+
+ month.setAttributeNode(span);
+
+ return month;
+ }
+
+ createDaysHeader(tr) {
+ let th = null;
+
+ for (let i = 1; i < this.days + 1; i++) {
+ th = document.createElement("th");
+ th.innerText = i;
+ tr.appendChild(th);
+ }
+
+ return th;
}
}
monthdaysheader.classList.add("monthday");
let date = new Date();
- for (let i = 1; i < 13; i++) {
- date.setMonth(i, 0);
- addDaysOfMonth(monthdaysheader, date.getDate());
+ for (let i = 0; i < 12; i++) {
+ let month = new Month(date.getYear(), i);
+ month.createDaysHeader(monthdaysheader);
}
return monthdaysheader;
function addMonthHeader()
{
- let monthheader = document.createElement("tr");
- monthheader.classList.add("row");
- monthheader.classList.add("month");
- const monthnames = [ "Januar", "Februar", "März", "April", "Mai", "Juni",
- "Juli", "August", "September", "Oktober", "November",
- "Dezember" ];
let date = new Date();
- let month = null;
- let span = null;
+ let header = document.createElement("tr");
+ header.classList.add("row");
+ header.classList.add("month");
- for (let i = 1; i < 13; i++) {
- month = document.createElement("th");
- span = document.createAttribute("colspan");
-
- month.innerText = monthnames[i - 1];
- date.setMonth(i, 0);
- span.value = date.getDate();
-
- month.setAttributeNode(span);
- monthheader.appendChild(month);
+ for (let i = 0; i < 12; i++) {
+ let month = new Month(date.getYear(), i);
+ header.appendChild(month.createMonthHeader());
}
- return monthheader;
+ return header;
}
function calender()