?? calendar.js
字號:
//*******************************
//¨a?§¨???à?¨¢?
//*******************************
var dDate = new Date();
var month= dDate.getMonth()+1;
var year= dDate.getFullYear();
//alert(month+" "+year)
var day=dDate.getDate()
var inputtextid=null;
var tablepositionleft;
var tablepositiontop;
var tableformname;
var hasform;
var input;
var innerhtml="";
var middle="-";
var inputLength;
var align="left";
//************************************
//
//************************************
innerhtml+="<table id='dateselect' border='0' width='101' cellspacing='0' cellpadding='0' style='display:none; left: 12; top: -250; border-left: 1 solid #D4D0C8; border-right: 1 solid #000000; border-top: 1 solid #D4D0C8; border-bottom: 1 solid #000000 z-index:100'>";
innerhtml+="<tr>";
innerhtml+="<td width='100%' style='border-left: 1 solid #FFFFFF; border-right: 1 solid #808080; border-top: 1 solid #FFFFFF; border-bottom: 1 solid #808080' height='112'>";
innerhtml+="<table border='0' cellspacing='0' cellpadding='0'>";
innerhtml+="<tr>";
innerhtml+="<td>";
innerhtml+="<table border='0' cellspacing='0' cellpadding='0' width='100%'>";
innerhtml+="<tr>";
innerhtml+="<td height='22' bgcolor='#000099' width='19' align='center'>";
innerhtml+="<p>";
innerhtml+="<button onclick='changeYearAndMonth(0)' style='height:16; width:20'></p>"
innerhtml+="<table border='0' cellspacing='0' cellpadding='0'>";
innerhtml+="<tr>";
innerhtml+="<td valign='top'>";
innerhtml+="<p style='margin-top: -6'>";
innerhtml+="<font style='font-family: Webdings;font-size: 11px'>";
innerhtml+="3</font>";
innerhtml+="</td>";
innerhtml+="</tr>";
innerhtml+="</table>";
innerhtml+="</td>";
innerhtml+="<td id='yearandmonth' bgcolor='#000099' height='22'>";
innerhtml+="<p align='center' style='margin-left: 20; margin-right: 20'><font color='#FFFFFF'><b>2001 ?¨o 3 ??</b></font>";
innerhtml+="</td>";
innerhtml+="<td height='22' bgcolor='#000099' width='32' align='center'>";
innerhtml+="<p><button onclick='changeYearAndMonth(1)' style='height:16; width:20'></p>";
innerhtml+="<table border='0' cellspacing='0' cellpadding='0'>";
innerhtml+="<tr>";
innerhtml+="<td valign='top'>";
innerhtml+="<p style='margin-top: -6'>";
innerhtml+="<font style='font-family: Webdings; font-size: 11px'>4</font>";
innerhtml+="</td>";
innerhtml+="</tr>";
innerhtml+="</table>";
innerhtml+="</td>";
innerhtml+="</tr>";
innerhtml+="</table>";
innerhtml+="</td>";
innerhtml+="</tr>";
innerhtml+="<tr>";
innerhtml+="<td id='draw'>";
innerhtml+="asd";
innerhtml+="</td>";
innerhtml+="</tr>";
innerhtml+="</table>";
innerhtml+="</td>";
innerhtml+="</tr>";
innerhtml+="</table>";
//alert(innerhtml)
document.write(innerhtml);
//****************************************
//
//***************************************
function fGetDaysInMonth(iMonth, iYear) {
var dPrevDate = new Date(iYear, iMonth, 0);
return dPrevDate.getDate();
}
function fBuildCal(iYear, iMonth, iDayStyle) {
var aMonth = new Array();
aMonth[0] = new Array(7);
aMonth[1] = new Array(7);
aMonth[2] = new Array(7);
aMonth[3] = new Array(7);
aMonth[4] = new Array(7);
aMonth[5] = new Array(7);
aMonth[6] = new Array(7);
var dCalDate = new Date(iYear, iMonth-1, 1);
var iDayOfFirst = dCalDate.getDay();
var iDaysInMonth = fGetDaysInMonth(iMonth, iYear);
var iVarDate = 1;
var i, d, w;
if (iDayStyle == 2) {
aMonth[0][0] = "Sunday";
aMonth[0][1] = "Monday";
aMonth[0][2] = "Tuesday";
aMonth[0][3] = "Wednesday";
aMonth[0][4] = "Thursday";
aMonth[0][5] = "Friday";
aMonth[0][6] = "Saturday";
} else if (iDayStyle == 1) {
aMonth[0][0] = "?";
aMonth[0][1] = "?";
aMonth[0][2] = "?";
aMonth[0][3] = "?";
aMonth[0][4] = "?";
aMonth[0][5] = "?";
aMonth[0][6] = "?";
} else {
aMonth[0][0] = "Su";
aMonth[0][1] = "Mo";
aMonth[0][2] = "Tu";
aMonth[0][3] = "We";
aMonth[0][4] = "Th";
aMonth[0][5] = "Fr";
aMonth[0][6] = "Sa";
}
for (d = iDayOfFirst; d < 7; d++) {
aMonth[1][d] = iVarDate;
iVarDate++;
}
for (w = 2; w < 7; w++) {
for (d = 0; d < 7; d++) {
if (iVarDate <= iDaysInMonth) {
aMonth[w][d] = iVarDate;
iVarDate++;
}
}
}
return aMonth;
}
function fDrawCal(iYear, iMonth,iDayStyle) {
var myMonth;
//alert(day)
myMonth = fBuildCal(iYear, iMonth, iDayStyle);
innerhtml+="<table border='0' width='100%' bgcolor='#FFFFFF' cellspacing='0' cellpadding='0'><tr>";
innerhtml+="<td width='14%' align='center' bgcolor='#D4D0C8'><p style='margin-left: 10; margin-right: 10; margin-top: 2'><b>" + myMonth[0][0] + "</b></td>";
innerhtml+="<td width='14%' align='center' bgcolor='#D4D0C8'><p style='margin-left: 10; margin-right: 10; margin-top: 2'><b>" + myMonth[0][1] + "</b></td>";
innerhtml+="<td width='14%' align='center' bgcolor='#D4D0C8'><p style='margin-left: 10; margin-right: 10; margin-top: 2'><b>" + myMonth[0][2] + "</b></td>";
innerhtml+="<td width='14%' align='center' bgcolor='#D4D0C8'><p style='margin-left: 10; margin-right: 10; margin-top: 2'><b>" + myMonth[0][3] + "</b></td>";
innerhtml+="<td width='14%' align='center' bgcolor='#D4D0C8'><p style='margin-left: 10; margin-right: 10; margin-top: 2'><b>" + myMonth[0][4] + "</b></td>";
innerhtml+="<td width='14%' align='center' bgcolor='#D4D0C8'><p style='margin-left: 10; margin-right: 10; margin-top: 2'><b>" + myMonth[0][5] + "</b></td>";
innerhtml+="<td width='14%' align='center' bgcolor='#D4D0C8'><p style='margin-left: 10; margin-right: 10; margin-top: 2'><b>" + myMonth[0][6] + "</b></td>";
innerhtml+="</tr>";
for (w = 1; w < 6; w++) {
innerhtml+="<tr>"
for (d = 0; d < 7; d++) {
//innerhtml+="<td align='center' valign='top' width='" + iCellWidth + "' height='" + iCellHeight + "' id=calCell style='CURSOR:Hand' onclick=fSetSelectedDay(this)>");
if(myMonth[w][d]==day)
innerhtml+="<td class='day' id='calday' width='14%' bgcolor='#FFcc99' align='center' style='border-bottom-style: solid; border-bottom-width: 1'>";
else if((myMonth[w][d]==dDate.getDate())&&(year==dDate.getFullYear())&&(month==dDate.getMonth()+1))
innerhtml+="<td class='day' id='calday' width='14%' bgcolor='#99ccff' align='center' style='border-bottom-style: solid; border-bottom-width: 1'>";
else
innerhtml+="<td class='day' id='calday' width='14%' bgcolor='#ffffff' align='center' style='border-bottom-style: solid; border-bottom-width: 1'>";
if (!isNaN(myMonth[w][d])) {
innerhtml+="<p style='margin-left: 10; margin-right: 10; margin-top: 2'>" + myMonth[w][d];
} else {
//innerhtml+="<font id=calDateText style='CURSOR:Hand'> </font>";
}
innerhtml+="</td>"
}
innerhtml+="</tr>";
}
innerhtml+="<tr>"
for (d = 0; d < 7; d++) {
innerhtml+="<td class='day' width='14%' bgcolor='#FFFFFF' align='center' style='border-bottom-style: solid; border-bottom-width: 1'>";
if (!isNaN(myMonth[6][d])) {
innerhtml+="<p style='margin-left: 10; margin-right: 10; margin-top: 2'>" + myMonth[6][d];
} else {
//innerhtml+="<font id=calDateText style='CURSOR:Hand'> </font>";
}
innerhtml+="</td>"
}
innerhtml+="</tr>";
innerhtml+="</table>"
}
//*******************************
//
//*******************************
function setTableLeft(left){
tablepositionleft=left;
}
function setTableTop(top){
tablepositiontop=top;
}
function setInputTextID(id){
inputtextid=id;
}
function setTableForm(formname){
tableformname=formname;
}
function setHasForm(hasForm){
hasform=hasForm;
}
function setmiddle(midd){
middle=midd;
}
function setInputLength(width){
inputLength=width;
}
function setAlign(val){
align=val;
}
function showSelectTable(flag){
var obj=eval("dateselect");
if(!flag)
obj.style.display="none";
obj.style.position="absolute";
obj.style.left=tablepositionleft;
obj.style.top=tablepositiontop;
if(obj.style.display=="none"){
obj.style.display="block";
}
else
obj.style.display="none";
}
function parseInputTextValue(val){
var value=checkinputtextvalue(val);
var b=new Array();
for(var i=0;i<2;i++){
//alert(value)
var a=value.indexOf(middle);
if(value.substring(0,a)=="08"){
b[i]=8;
}else{
if(value.substring(0,a)=="09"){
b[i]=9;
}else{
b[i]=parseInt(value.substring(0,a));
}
}
value=value.substring(a+1);
}
if(value.charAt(0)=='0'){
value=value.substring(1);
}
b[2]=parseInt(value);
//alert(b[2]);
year=b[0];
month=b[1];
day=b[2];
changeYearAndMonth(3);
}
function checkinputtextvalue(val){
var flag=false;
var i,j;
var value,val1,val2;
if(val.length!=10){
flag=true;
//alert("check input error!!!!!")
}
if(flag){
value=year+middle;
if(month<10)
value+="0"+month+middle;
else
value+=month+middle;
if(day<10)
value+="0"+day;
else
value+=day;
if(hasform){
var obj1=eval(tableformname);
input=eval(obj1.name+"."+inputtextid);
}
else
input=eval(inputtextid);
input.value=value;
}
else
value=val;
return value;
}
function initDay(obj){
obj.onmouseover=OnMouseOver;
obj.onmouseout=OnMouseOut;
obj.onmousedown=OnMouseDown;
}
function OnMouseOver(){
var obj=event.srcElement;
var element=obj.parentElement;
var k
if(element.className!="day")
k=obj;
else
k=element;
//alert(k.className);
k.className="onMouseOver";
}
function OnMouseOut(){
var obj=event.srcElement;
var element=obj.parentElement;
var k
if(!element.id)
k=obj;
else
k=element;
//alert(k.className);
k.className="day";
}
function OnMouseDown(){
var obj=event.srcElement;
var element=obj.parentElement;
var k
if(!element.id)
k=obj.innerText;
else
k=element.innerText;
//alert(obj.innerText);
//alert(element.innerText);
//alert(obj.id)
//alert(element.id)
//alert(k)
day=k;
if(hasform){
var obj1=eval(tableformname);
input=eval(obj1.name+"."+inputtextid);
}
else
input=eval(inputtextid);
var text=""+year+middle;
if(month<10)
text+="0"+month+middle;
else
text+=month+middle;
if(day<10)
text+="0"+day;
else
text+=day;
input.value=text;
showSelectTable(true);
}
function changeYearAndMonth(flag){
var innertext="<p align=center style='margin-left: 20; margin-right: 20'><font color='#FFFFFF'><b>";
if(flag==1){
if(month>=12){
month=1
year++;
}
else
month++;
}
else if(flag==0){
if(month<=1){
month=12;
year--;
}
else
month--;
}
innertext+= year+"?¨o"+month+"??";
innertext+="</b></font>";
var obj=eval("yearandmonth");
obj.innerHTML=innertext;
innerhtml="";
setJavaScript();
}
function setJavaScript(){
//alert(year+" "+month)
fDrawCal(year,month,1);
var obj=eval("draw");
obj.innerHTML=innerhtml;
var col=document.all.tags("td");
for(var i=0;i<col.length;i++){
if(col[i].className=="day"&&col[i].innerText!="")
initDay(col[i]);
}
}
function set(){
var flag=false;
var args=set.arguments;
if(inputtextid==null||inputtextid==args[0])
flag=true;
//alert(args[0])
//alert(event.clientX-event.offsetX)
//setInputLength(args[0]);
setInputTextID(args[0]);
setAlign(args[1])
//fDrawSelectTable();
if(args.length==5){
setHasForm(args[2]);
setTableForm(args[3])
setmiddle(args[4]);
}
else
setmiddle(args[2])
if(args.length==3)
alert("arguments lenght error");
if(hasform){
var obj1=eval(tableformname);
input=eval(obj1.name+"."+inputtextid);
}
else
input=eval(inputtextid);
var x,y;
inputLength=input.style.width;
if(!inputLength){
inputLength=7*input.size;
}
else{
var i=inputLength.indexOf("px");
inputLength=parseInt(inputLength.substring(0,i));
}
//alert(inputLength)
if(align=="left"){
x=event.clientX-event.offsetX-inputLength;
}
else if(align=="right"){
x=event.clientX-event.offsetX-210;
}
else{
alert("args[1] Error")
return;
}
y=event.clientY+(20-event.offsetY);
//alert(event.clientY+event.offsetY+2)
setTableLeft(x);
setTableTop(y);
parseInputTextValue(input.value);
innerhtml=""
setJavaScript();
//alert(flag)
showSelectTable(flag);
}
function getTime(textName,alignt)
{
set(textName,alignt,true,'mainform','-');
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -