본문 바로가기

Dev-/java script, jQuery, Ajax

캘린더(달력) 세팅 함수 - 자바 스크립트

퍼블리셔가 달력을 그냥 하드코딩 해 줘서 갑자기 만들어야 했던 달력

나중에 쓸 일이 있을라나 싶기도 하지만 저장


/**
* 달력 세팅 함수
* 0 : 1월 ~
* 1 : 1일 ~
* 0 : 일요일 ~
* @param targetMonth
*/
setCalendar(year, month, target) {
let targetFirstDay = this.cmsUtil.getFirstDay(year, month);
let targetLastDay = this.cmsUtil.getLastDay(year, month);

let targetFirstDay_date = targetFirstDay.getDate();
let targetLastDay_date = targetLastDay.getDate();

let targetFirstDay_day = targetFirstDay.getDay();

let today = new Date();

let text = '<tr>';

for (let i = 0; i < targetFirstDay_day; i++)
text += '<td class="empty"></td>';

while(targetFirstDay_date <= targetLastDay_date) {
let todayClass = (today.getDate() == targetFirstDay_date && today.getMonth() == month && today.getFullYear() == year) ? ' class="today" ' : '';
text += '<td><div' + todayClass + '>' + targetFirstDay_date + '</div></td>';

if ((new Date(targetFirstDay.getFullYear(), targetFirstDay.getMonth(),targetFirstDay_date)).getDay() % 7 == 6)
text += '</tr><tr>';

targetFirstDay_date++;
}

text += '</tr>';

$('#' + target + '-tbody').html(text);
}