⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendar.js

📁 虚拟出版社系统 模拟出版社的业务流程 程序Demo
💻 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'>&nbsp;</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'>&nbsp;</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 + -