상세 컨텐츠

본문 제목

[javascript] 만들었더니 쓸모없어진 달력 스크립트

헉!!/javascript

by 권태성 2013. 2. 21. 19:12

본문

네.. 만들었더니 쓸모가 없어진 달력 스크립트 입니다.

급하게 필요해서 만들었는데 자바에서 처리해야되서 쓸모가 없어졌네요. 일단 백업용으로 올려둡니다.


<script type="text/javascript">

$(document).ready(function(){

calendar(0,0,0);

});


function preYear(y,m,d){

$('#calendar ul').remove();

$('#calendar table').remove();

calendar(y-1,m,d);

}

function nextYear(y,m,d){

$('#calendar ul').remove();

$('#calendar table').remove();

calendar(y+1,m,d);

}

function preMonth(y,m,d){

$('#calendar ul').remove();

$('#calendar table').remove();

if(d == 99){

d = 1;

}

if((m-1) == -1){

y = y-1;

m = 12;

}

calendar(y,m-1,d);

}


function nextMonth(y,m,d){

$('#calendar ul').remove();

$('#calendar table').remove();

if(d == 99){

d = 1;

}

if((m+1) == 12){

y = y+1;

m = -1;

}

calendar(y,m+1,d);

}


function calendar(y,m,d)

{

 var date = new Date();

 var now = new Date();

 var day = date.getDate();

 if(y != 0){ //입력받은 년,월 정보로 date객체의 년,월 정보를 수정(day는 today 표시를 하지 않기위해 임의로 99로 지정함)

 date.setFullYear(y);

 if(m < 0){

 m = 12;

 }

 date.setMonth(m);

 date.setDate(1);

 day = 99;

 }

 if(y != 0 && now.getMonth() == m && y == now.getFullYear()){ //현재 년월과 입력받은 년월이 같을때 date값은 오늘 날짜로 지정해서 today class설정이 되도록 한다.

 day = now.getDate();

 }

 var month = date.getMonth();

 var year = date.getYear();

 var docu;

 

 if(year<=200)

 {

         year += 1900;

 }

 var months = new Array('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12');

 var days_in_month = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

 if(year%4 == 0 && year!=1900) //윤년

 {

         days_in_month[1]=29;

 }

 total = days_in_month[month];

 var date_today = year+'.'+months[month];

 var beg_j = date;

 beg_j.setDate(1);

 if(beg_j.getDate()==2)

 {

         beg_j=setDate(0);

 }

 beg_j = beg_j.getDay();

 docu+='<ul class="calMonth"><li class="mR8"><a href="#" onclick="preYear('+year+','+month+','+day+');" title="작년 "><img src="/images/board/btn_cal_first.gif" alt="작년" /></a></li><li><a href="#" onclick="preMonth('+year+','+month+','+day+');" title="이전달"><img src="/images/board/btn_cal_prev.gif" alt="이전달" /></a></li><li class="yearMonth">'+date_today+'</li><li class="mR8"><a href="#" onclick="nextMonth('+year+','+month+','+day+');" title="다음달"><img src="/images/board/btn_cal_next.gif" alt="다음달" /></a></li><li><a href="#" onclick="nextYear('+year+','+month+','+day+');" title="내년"><img src="/images/board/btn_cal_end.gif" alt="내년" /></a></li></ul>';

 docu+='<table class="calTable" summary="일정"><colgroup><col width="15%" /><col width="14%" /><col width="14%" /><col width="14%" /><col width="14%" /><col width="14%" /><col width="15%" /></colgroup><thead><tr><th class="weekSun">일</th><th>월</th><th>화</th><th>수</th><th>목</th><th>금</th><th class="weekSat">토</th></tr></thead>';

 week = 0;

 for(var i=1;i<=beg_j;i++)

 {

         docu+='<td></td>';

         week++;

 }

 for(var i=1;i<=total;i++)

 {

         if(week==0)

         {

                 docu+='<tr>';

         }

         if(day==i && day!=99)

         {

                 docu+='<td class="today">'+i+'</td>';

         }

         else

         {

          if(week==0){

          docu+='<td class="weekSun">'+i+'</td>';

          }else if(week==6){

          docu+='<td class="weekSat">'+i+'</td>';

          }else{

          docu+='<td>'+i+'</td>';

          }

                 

         }

         week++;

         if(week==7)

         {

                 docu+='</tr>';

                 week=0;

         }

 }

 for(var i=1;week!=0;i++)

 {

         docu+='<td></td>';

         week++;

         if(week==7)

         {

                 docu+='</tr>';

                 week=0;

         }

 }

 docu+='</tbody></table>';

 //document.getElementById('cal').innerHTML = docu;

 $('#calendar').html(docu);

 return true;

}

</script>


관련글 더보기