var Calendar = Class.create();
Calendar.prototype = {
initialize : function(e, obj) {
this.event = (e) ? e : window.event;
this.obj = obj;
this.today = this.today = new Date();
this.year = this.today.getFullYear();
this.month = this.today.getMonth();
this.date = 1;
this.dayIndex = new Array('일','월','화','수','목','금','토');
this.lastDate = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
this.calWin = window.open('', 'calendar', 'width=200,height=180,top='+(this.event.clientY+100)+',left='+this.event.clientX);
this.makeCal();
},
makeCal : function(type, addSub) {
this.newDate = new Date(this.year, this.month, this.date);
if(type && addSub) {
if(type == 'year') {
if(addSub == 'add') this.newDate.setFullYear(this.newDate.getFullYear()+1); else this.newDate.setFullYear(this.newDate.getFullYear()-1);
} else if(type == 'month') {
if(addSub == 'add') this.newDate.setMonth(this.newDate.getMonth()+1); else this.newDate.setMonth(this.newDate.getMonth()-1);
}
}
this.year = this.newDate.getFullYear();
this.month = this.newDate.getMonth();
this.day = this.newDate.getDay();
if(((this.year%4 == 0) && (this.year%100 != 0)) || (this.year%400 ==0)) {
this.lastDate[1] = 29;
} else {
this.lastDate[1] = 28;
}
_cal = this;
this.calsrc = "<table border='0' cellpadding='0' cellspacing='1' borderColor='#eeeeee' width='100%'>\n";
this.calsrc += "<tr>\n";
this.calsrc += "<td><span onClick=opener._cal.makeCal('year','sub')><<</span> <span onClick=opener._cal.makeCal('month','sub')><</span></td>\n";
this.calsrc += "<td>"+this.newDate.getFullYear()+"년 "+(this.month+1)+"월</td>\n";
this.calsrc += "<td><span onClick=opener._cal.makeCal('month','add')>></span> <span onClick=opener._cal.makeCal('year','add')>>></span></td>\n";
this.calsrc += "</tr>\n";
this.calsrc += "</table>\n";
this.calsrc += "<table border='0' cellpadding='0' cellspacing='1' borderColor='#eeeeee' width='100%'>\n";
this.calsrc += "<tr>\n";
for(i=0; i<this.dayIndex.length; i++) {
this.calsrc += "<td>"+this.dayIndex[i]+"</td>\n";
}
this.calsrc += "</tr>\n";
for(i=0; i<this.day+this.lastDate[this.newDate.getMonth()];i++) {
if(!(i%7)) {
this.calsrc += "</tr>\n";
this.calsrc += "<tr>\n";
}
if(i >= this.day) {
this.calsrc += "<td><span onClick=opener._cal.setDate('"+((i-this.day)+1)+"')>"+((i-this.day)+1)+"</td>\n";
} else {
this.calsrc += "<td></td>\n";
}
}
this.calsrc += "</tr>\n";
this.calsrc += "</table>\n";
this.calWin.document.open();
this.calWin.document.clear();
this.calWin.document.write(this.calsrc);
this.calWin.document.close();
},
fillZero : function(len, value) {
var value = value.toString();
var addLen = len - value.length;
for(i=0; i<addLen; i++) {
value = "0"+value;
}
return value;
},
setDate : function(day) {
$(this.obj).value = this.year+'-'+this.fillZero(2,this.month+1)+'-'+this.fillZero(2,day);
this.calWin.close();
}
}
<input type="text" name="date" id="date'><input type="button" onClick="new Calendar(event, 'date')" value="달력" />
이렇게 사용하면 됩니다.
급조하느라 부족한부분이 많습니다.
Calendar.prototype = {
initialize : function(e, obj) {
this.event = (e) ? e : window.event;
this.obj = obj;
this.today = this.today = new Date();
this.year = this.today.getFullYear();
this.month = this.today.getMonth();
this.date = 1;
this.dayIndex = new Array('일','월','화','수','목','금','토');
this.lastDate = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
this.calWin = window.open('', 'calendar', 'width=200,height=180,top='+(this.event.clientY+100)+',left='+this.event.clientX);
this.makeCal();
},
makeCal : function(type, addSub) {
this.newDate = new Date(this.year, this.month, this.date);
if(type && addSub) {
if(type == 'year') {
if(addSub == 'add') this.newDate.setFullYear(this.newDate.getFullYear()+1); else this.newDate.setFullYear(this.newDate.getFullYear()-1);
} else if(type == 'month') {
if(addSub == 'add') this.newDate.setMonth(this.newDate.getMonth()+1); else this.newDate.setMonth(this.newDate.getMonth()-1);
}
}
this.year = this.newDate.getFullYear();
this.month = this.newDate.getMonth();
this.day = this.newDate.getDay();
if(((this.year%4 == 0) && (this.year%100 != 0)) || (this.year%400 ==0)) {
this.lastDate[1] = 29;
} else {
this.lastDate[1] = 28;
}
_cal = this;
this.calsrc = "<table border='0' cellpadding='0' cellspacing='1' borderColor='#eeeeee' width='100%'>\n";
this.calsrc += "<tr>\n";
this.calsrc += "<td><span onClick=opener._cal.makeCal('year','sub')><<</span> <span onClick=opener._cal.makeCal('month','sub')><</span></td>\n";
this.calsrc += "<td>"+this.newDate.getFullYear()+"년 "+(this.month+1)+"월</td>\n";
this.calsrc += "<td><span onClick=opener._cal.makeCal('month','add')>></span> <span onClick=opener._cal.makeCal('year','add')>>></span></td>\n";
this.calsrc += "</tr>\n";
this.calsrc += "</table>\n";
this.calsrc += "<table border='0' cellpadding='0' cellspacing='1' borderColor='#eeeeee' width='100%'>\n";
this.calsrc += "<tr>\n";
for(i=0; i<this.dayIndex.length; i++) {
this.calsrc += "<td>"+this.dayIndex[i]+"</td>\n";
}
this.calsrc += "</tr>\n";
for(i=0; i<this.day+this.lastDate[this.newDate.getMonth()];i++) {
if(!(i%7)) {
this.calsrc += "</tr>\n";
this.calsrc += "<tr>\n";
}
if(i >= this.day) {
this.calsrc += "<td><span onClick=opener._cal.setDate('"+((i-this.day)+1)+"')>"+((i-this.day)+1)+"</td>\n";
} else {
this.calsrc += "<td></td>\n";
}
}
this.calsrc += "</tr>\n";
this.calsrc += "</table>\n";
this.calWin.document.open();
this.calWin.document.clear();
this.calWin.document.write(this.calsrc);
this.calWin.document.close();
},
fillZero : function(len, value) {
var value = value.toString();
var addLen = len - value.length;
for(i=0; i<addLen; i++) {
value = "0"+value;
}
return value;
},
setDate : function(day) {
$(this.obj).value = this.year+'-'+this.fillZero(2,this.month+1)+'-'+this.fillZero(2,day);
this.calWin.close();
}
}
<input type="text" name="date" id="date'><input type="button" onClick="new Calendar(event, 'date')" value="달력" />
이렇게 사용하면 됩니다.
급조하느라 부족한부분이 많습니다.
[이 게시물은 관리자님에 의해 2011-10-31 16:57:14 JavaScript에서 이동 됨]
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 130 | 20년 전 | 3961 | ||
| 129 | 20년 전 | 2902 | ||
| 128 | 20년 전 | 3627 | ||
| 127 | 20년 전 | 3425 | ||
| 126 | 20년 전 | 3718 | ||
| 125 | 20년 전 | 8557 | ||
| 124 | 20년 전 | 2581 | ||
| 123 | 20년 전 | 3732 | ||
| 122 | 20년 전 | 3185 | ||
| 121 | 20년 전 | 2582 | ||
| 120 | 20년 전 | 2648 | ||
| 119 | 20년 전 | 2560 | ||
| 118 | 20년 전 | 2848 | ||
| 117 |
|
20년 전 | 3026 | |
| 116 | 20년 전 | 5286 | ||
| 115 | 20년 전 | 3889 | ||
| 114 | 20년 전 | 4935 | ||
| 113 | 20년 전 | 6193 | ||
| 112 | 20년 전 | 7315 | ||
| 111 | 20년 전 | 18417 | ||
| 110 | 20년 전 | 6866 | ||
| 109 | 20년 전 | 2863 | ||
| 108 | 20년 전 | 4116 | ||
| 107 |
prosper
|
20년 전 | 2466 | |
| 106 |
prosper
|
20년 전 | 4289 | |
| 105 |
아우겐나이스
|
20년 전 | 2881 | |
| 104 | 20년 전 | 2241 | ||
| 103 | 20년 전 | 2457 | ||
| 102 | 20년 전 | 2208 | ||
| 101 | 20년 전 | 2541 | ||
| 100 | 20년 전 | 1720 | ||
| 99 | 20년 전 | 1552 | ||
| 98 | 20년 전 | 1602 | ||
| 97 | 20년 전 | 2095 | ||
| 96 | 20년 전 | 1855 | ||
| 95 | 20년 전 | 2354 | ||
| 94 | 20년 전 | 3548 | ||
| 93 | 20년 전 | 1541 | ||
| 92 | 20년 전 | 1734 | ||
| 91 | 20년 전 | 3153 | ||
| 90 | 20년 전 | 2327 | ||
| 89 | 20년 전 | 3152 | ||
| 88 | 20년 전 | 2856 | ||
| 87 | 20년 전 | 3284 | ||
| 86 | 20년 전 | 5099 | ||
| 85 | 20년 전 | 2503 | ||
| 84 | 20년 전 | 4802 | ||
| 83 | 20년 전 | 2478 | ||
| 82 | 20년 전 | 3091 | ||
| 81 | 20년 전 | 7597 | ||
| 80 | 20년 전 | 3801 | ||
| 79 | 20년 전 | 3192 | ||
| 78 | 20년 전 | 4678 | ||
| 77 | 20년 전 | 2880 | ||
| 76 | 20년 전 | 6203 | ||
| 75 | 20년 전 | 4461 | ||
| 74 | 20년 전 | 5764 | ||
| 73 | 20년 전 | 3614 | ||
| 72 | 20년 전 | 5950 | ||
| 71 | 20년 전 | 3092 | ||
| 70 | 20년 전 | 2818 | ||
| 69 | 20년 전 | 2611 | ||
| 68 | 20년 전 | 2425 | ||
| 67 | 20년 전 | 2632 | ||
| 66 | 20년 전 | 2654 | ||
| 65 | 20년 전 | 3775 | ||
| 64 | 20년 전 | 2801 | ||
| 63 | 20년 전 | 2440 | ||
| 62 | 20년 전 | 2243 | ||
| 61 | 20년 전 | 3044 | ||
| 60 | 20년 전 | 3113 | ||
| 59 | 20년 전 | 2488 | ||
| 58 | 20년 전 | 2576 | ||
| 57 | 20년 전 | 2946 | ||
| 56 | 20년 전 | 2297 | ||
| 55 | 20년 전 | 2734 | ||
| 54 | 20년 전 | 2105 | ||
| 53 | 20년 전 | 2328 | ||
| 52 | 20년 전 | 2677 | ||
| 51 |
prosper
|
20년 전 | 2329 | |
| 50 |
prosper
|
20년 전 | 2148 | |
| 49 | 20년 전 | 2155 | ||
| 48 | 20년 전 | 2308 | ||
| 47 | 20년 전 | 1911 | ||
| 46 | 20년 전 | 1913 | ||
| 45 | 20년 전 | 2119 | ||
| 44 | 20년 전 | 2346 | ||
| 43 | 21년 전 | 4558 | ||
| 42 |
prosper
|
21년 전 | 2693 | |
| 41 |
prosper
|
21년 전 | 2094 | |
| 40 | 21년 전 | 2158 | ||
| 39 | 21년 전 | 2127 | ||
| 38 | 21년 전 | 2397 | ||
| 37 | 21년 전 | 2548 | ||
| 36 | 21년 전 | 1760 | ||
| 35 | 21년 전 | 4058 | ||
| 34 | 21년 전 | 3838 | ||
| 33 | 21년 전 | 2975 | ||
| 32 |
prosper
|
21년 전 | 2880 | |
| 31 | 21년 전 | 5248 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기