var date = new Date();
var currentYear = date.getFullYear();
var currentMonth = date.getMonth() + 1;
var currentDate = date.getDate();
var lastDate = "";
var week = "";
$(function(){
//현재 년도 달 설정
if( currentMonth < 10 ) {
currentMonth = '0'+currentMonth;
}
$("#calendar_YM").text(currentYear+'.'+currentMonth);
//이전달
$("#prevMonth").click(function() {
var selectYear = parseInt($("#calendar_YM").text().substring(0, 4));
var selectMonth = parseInt($("#calendar_YM").text().substring(5, 7));
var html = '';
var dateNum = 1;
selectMonth = selectMonth - 1;
if(selectMonth == 0) {
selectMonth = 12;
//1월달 이전은 -1 년 해준다
selectYear = selectYear - 1;
}
var theDate = new Date(selectYear,selectMonth-1,1); //1일의 요일을 알려준다.0:일요일, 6: 토요일
var currentDay = theDate.getDay();
lastDate = noofdays(selectMonth,selectYear);
week = Math.ceil( ( currentDay + lastDate ) / 7 );
for(var i=1; i <= week; i++) {
html += '<tr>';
console.log("i : " +i+" /j : " +j+" /currentDay : "+currentDay+" /dateNum : "+dateNum);
for(var j=1; j<= 7; j++) {
if(i===1 && j<=currentDay || dateNum>lastDate) {
html += '<td></td>';
}else {
html += '<td>'+dateNum+'</td>';
dateNum++;
}
}
html += '</tr>';
}
$("#calendar_tbody").html(html);
if( selectMonth < 10 ) {
selectMonth = '0'+selectMonth;
}
$("#calendar_YM").text(selectYear+'.'+selectMonth);
});
//다음달
$("#nextMonth").click(function() {
var selectYear = parseInt($("#calendar_YM").text().substring(0, 4));
var selectMonth = parseInt($("#calendar_YM").text().substring(5, 7));
var html = '';
var dateNum = 1;
selectMonth = selectMonth + 1;
if(selectMonth == 13) {
selectMonth = 1;
//1월달 이전은 -1 년 해준다
selectYear = selectYear + 1;
}
var theDate = new Date(selectYear,selectMonth-1,1); //1일의 요일을 알려준다.0:일요일, 6: 토요일
var currentDay = theDate.getDay();
lastDate = noofdays(selectMonth,selectYear);
week = Math.ceil( ( currentDay + lastDate ) / 7 );
for(var i=1; i <= week; i++) {
html += '<tr>';
console.log("i : " +i+" /j : " +j+" /currentDay : "+currentDay+" /dateNum : "+dateNum);
for(var j=1; j<= 7; j++) {
if(i===1 && j<=currentDay || dateNum>lastDate) {
html += '<td></td>';
}else {
html += '<td>'+dateNum+'</td>';
dateNum++;
}
}
html += '</tr>';
}
$("#calendar_tbody").html(html);
if( selectMonth < 10 ) {
selectMonth = '0'+selectMonth;
}
$("#calendar_YM").text(selectYear+'.'+selectMonth);
});
});
//달력 셋팅을 위한 달의 말일 구하기
function noofdays(mm, yyyy) {
var daysofmonth;
if((mm == 4) || (mm ==6) || (mm ==9) || (mm == 11))
{
daysofmonth = 30;
}
else
{
daysofmonth = 31;
if(mm == 2)
{
if (yyyy/4 - parseInt(yyyy/4) != 0)
{
daysofmonth = 28;
}
else
{
if (yyyy/100 - parseInt(yyyy/100) != 0)
{
daysofmonth = 29;
}
else
{
if(yyyy/400 - parseInt(yyyy/400) != 0)
{
daysofmonth = 28;
}
else
{
daysofmonth =29;
}
}
}
}
}
return daysofmonth;
}
'develop > java script' 카테고리의 다른 글
파일 등록 시 미리보기 기능 스크립트 (0) | 2016.05.18 |
---|---|
천단위 콤마 스크립트 (0) | 2016.05.18 |
ajax form submit (0) | 2016.03.25 |
JS 생성자?? 프로토 타입??? (0) | 2015.02.05 |
checkbox tree list value 가져오기 (0) | 2014.11.12 |