-
Notifications
You must be signed in to change notification settings - Fork 4
/
javascript.js
64 lines (56 loc) · 2.05 KB
/
javascript.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// 윤년 판정
function isLeapYear(year) {
if (year % 4 === 0) {
if (year % 100 === 0) {
if (year % 400 === 0) {
return true;
}
return false;
}
return true;
}
return false;
}
// 각 월마다 날짜 생성
function generateDaysForMonth(year) {
const months = [
{ month: 'January', days: 31 },
{ month: 'February', days: isLeapYear(year) ? 29 : 28 },
{ month: 'March', days: 31 },
{ month: 'April', days: 30 },
{ month: 'May', days: 31 },
{ month: 'June', days: 30 },
{ month: 'July', days: 31 },
{ month: 'August', days: 31 },
{ month: 'September', days: 30 },
{ month: 'October', days: 31 },
{ month: 'November', days: 30 },
{ month: 'December', days: 31 }
];
months.forEach((m, index) => {
// 각 월 month 클래스 찾기
const monthDiv = document.querySelector(`.month:nth-child(${index + 1})`);
// 월 이름 추가
const monthNameDiv = document.createElement('div');
monthNameDiv.className = 'month-name';
monthNameDiv.textContent = m.month;
// 날짜 부모 daysContainer 추가
const daysContainer = document.createElement('div');
daysContainer.className = 'days-container';
// 부모 daysContainer클래스에 날짜 추가
for (let day = 1; day <= m.days; day++) {
const dayDiv = document.createElement('div');
dayDiv.className = 'day';
dayDiv.textContent = day;
daysContainer.appendChild(dayDiv);
}
// month 클래스에 monthNameDiv, daysContainer클래스 추가
monthDiv.appendChild(monthNameDiv);
monthDiv.appendChild(daysContainer);
});
}
// 올해 년도 generateDaysForMonth() 함수 실행
document.addEventListener('DOMContentLoaded', () => {
const currentYear = new Date().getFullYear();
generateDaysForMonth(currentYear);
});