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

📄 calendar.js

📁 jeoa杰易OA办公自动化系统 v1.3,经过实用数据库很好用的
💻 JS
字号:
var now = new Date();
 
var thisYear=now.getFullYear();
var thisMonth=now.getMonth();
var thisDay =now.getDate();

var curYear=thisYear;
var curMonth=thisMonth;
var curDay=thisDay;

var curDateObj=null; //当前的显示日期对象有Edit
var CurDate="";//当前选择的日期

//显示该日历
// curDateEdit: 当前显示日期Text对象
// x,y        : 显示的位置

var oldX=0;
var oldY=0;
var isShowXY=false;

function move_MyCalendaCalendar()
{
if(event.button==1)
{ myCal_Info.style.posLeft+=(event.offsetX-oldX);
  myCal_Info.style.posTop+=(event.offsetY-oldY);
  if(isShowXY) myXY.innerText=myCal_Info.style.posLeft+"|"+myCal_Info.style.posTop;
 } 
 window.event.returnValue=false;
 window.event.cancelBubble=true;
}

function move_MyCalendarDown()
{
  oldX=event.offsetX;
  oldY=event.offsetY;
}

function move_MyCalendaUp()
{
 window.event.returnValue=false;
 window.event.cancelBubble=true;
}

function checkMyCalMouseStatus()
{
 if(myCal_Info.style.display !="none")
  {
   x=event.clientX;
   y=event.clientY;
   xLeft=myCal_Info.style.posLeft;
   Width=180;
   yTop=myCal_Info.style.posTop;
   Height=200;
   //alert("x="+x+" y="+y +" xLeft="+xLeft+" yTop=" +yTop+" Height=" +Height +" width=" +Width);
   if(!(x>=xLeft && x<=xLeft+Width && y>=yTop && y<=yTop+Height))
      myCal_Info.style.display="none";
  } 
}

function showCalendar(curDateEdit,x,y,isShow)
{ 

  if(typeof(x)=='undefined') x=curDateEdit.style.left+20;            
  if(typeof(y)=='undefined') y=curDateEdit.style.top;
  if(typeof(isShow)=='undefined' || isShow==false)
     isShow=false;
  else
      isShow=true;
  isShowXY=isShow;
  curDate=curDateEdit.value;
  
  if(curDate.indexOf("-")>1)
    var s=curDate.split("-");
  else
    var s=curDate.split("."); 
    
  n=s.length;
  
  curDateObj=curDateEdit;
  
  if(n>0)   
     curYear=parseInt(s[0],10);
  else
     curYear=0;
  
  if(isNaN(curYear) || curYear<1800 || curYear>2040)   curYear=thisYear;   
  
  if(n>0)    curMonth=parseInt(s[1],10)-1;
  else       curMonth=0;
  
  if(isNaN(curMonth) || curMonth<0 || curMonth>11) curMonth=thisMonth;
  
  if(n>2)    curDay=parseInt(s[2],10);
  else       curDay=0;
  
  curDate=curYear +"-"+(curMonth+1)+"-"+curDay;
  
  if(isNaN(curDay) || curDay<0 || curDay>getDays(curMonth,curYear))
     curDay=thisDay;

  
  myCal_Info.style.posLeft =x;
  myCal_Info.style.posTop =y;
  myCal_Info.style.display ="" ;
  myCal_Year.focus()
  newCalendar();
  window.event.returnValue=false;
  window.event.cancelBubble=true;
}


//取得Year年month月共多少天
function getDays(month, year)
{ 
  var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31);
  if(1 == month)
 return ((0 == year % 4) && (0 != (year % 100))) ||(0 == year % 400) ? 29 : 28;
  else
   return daysInMonth[month];
}
//年份改变时
function changeYear()
{
 var n=myCal_Year.value;
 if(isNaN(n)) return;
 n=parseInt(n,10);
 if(n<1800 || n>2040) return;
 curYear=n;
 newCalendar();
 return(false);
}

function calAdd1(obj)
{
 var n=parseInt(myCal_Year.value,10);
 if(isNaN(n)) //不是数字
    n=curYear;
 n++;
 if(n>2040) n=2040;
 if(n<1800) n=1800;
 curYear=n;
 newCalendar();
 return(false);
}

function calSub1()
{
 var n=parseInt(myCal_Year.value,10);
 if(isNaN(n) || n<1800 || n>2040)
    n=curYear;
 n--;
 if(n<1800) n=1800;
 if(n>2040) n=2040;
 curYear=n;
 newCalendar();
 return(false);
}

function calHelp()
{
 alert("[页面嵌入日历] 设计:Dragon Jiang(2002-04-19)\n\n移动日历:对着标题,出现移动光标时按下左键,然后拖动\n选择日期:对着某一天点击即可选择\n取消选择:点击标题处的[X]\n色彩说明:加粗的红色表示今天的日期,加粗的蓝色表示当前选择的日期")
 return(false);
}

function newCalendar()
{
var newCal = new Date(curYear,curMonth,1);
var startDay = newCal.getDay();//XXXX年X月1日星期x

var daily = 0;//当前显示的日号

myCal_Year.value=curYear;
myCal_Month.value=curMonth+1;
var intDaysInMonth =getDays(curMonth, curYear);

for (var intWeek = 0; intWeek < tableCal.rows.length;intWeek++)
for (var intDay = 0;intDay < tableCal.rows[intWeek].cells.length;intDay++)
{
var cell = tableCal.rows[intWeek].cells[intDay];
if ((intDay == startDay) && (0 == daily)) daily = 1;//开始显示日期

if ((daily > 0) && (daily <= intDaysInMonth))
{ 
 if(curYear==thisYear && curMonth==thisMonth & thisDay==daily)
          cell.className = "calToday";
 else
   if((curYear +"-"+  (curMonth+1) +"-"+ daily)==curDate)
          cell.className = "calCurDate";          
 else 
	if(intDay==6)cell.className = "calSatday";
	else
		if (intDay==0)cell.className="calSunday";
	else cell.className="calNormal";
cell.innerText = daily;
daily++;
}
else
{ cell.innerText = " ";
  cell.className="calNone";
 } 
}

}

function getDate()
{
var sDate;
if ("TD" == event.srcElement.tagName)
  if (" " != event.srcElement.innerText)
  {
   curDateObj.value = myCal_Year.value + "-" + myCal_Month.value + "-" + event.srcElement.innerText;
   myCal_Info.style.display="none";
  }
}

document.write (''+
'<div ID=myCal_Info style="position:absolute;z-index:100;width:180px;heigh:200px;background-color:#d0d0c8;display:none" ><div ID=myXY></div>'+
'<fieldset style="WIDTH:180px;HEIGHT:200px;" >'+
'<legend align=left ><div onMouseUp="move_MyCalendaUp()" onMouseMove="move_MyCalendaCalendar();" onMouseDown="move_MyCalendarDown()" style="cursor:move">选择日期([<a href=# onclick="myCal_Info.style.display=\'none\';return(false)" title="关闭"><u>X</u></a>] [<a href=# onclick="return(calHelp())" title="使用帮助"><u>H</u></a>])</div></legend>'+
'<table width=180 cellspacing=0 cellpadding=0>'+
'<tr><td align=middle>'+
'<table width=160 cellspacing=0 cellpadding=0>'+
'<tr>'+
'<td width=60 height=50><select id=myCal_Month style="width: 66; height: 23" onchange="curMonth=parseInt(this.value,10)-1;newCalendar();" size=1 name=Month><option value=1>1月<option value=2>2月<option value=3>3月<option value=4>4月<option value=5>5月<option value=6>6月<option value=7>7月<option value=8>8月<option value=9>9月<option value=10>10月<option value=11>11月<option value=12>12月</option></select></td>'+
'<td width=70 height=50 align=right><input type=text name=myCal_Year size=6 maxlength=4 onchange="changeYear(this);" style="width: 64; height: 21; text-align: right"></td>'+
'<td width=16 height=50><map name=myCal_c_FPMap0>'+
'<area href=# style="cursor:hand" onclick="return(calAdd1());" shape=rect coords="1, 1, 17, 8"><area href=# style="cursor:hand" onclick="return(calSub1());" shape=rect coords="1, 10, 17, 18"></map>'+
'<img  border=0 src=/images/System/UpDown.gif usemap=#myCal_c_FPMap0 width=17 height=18></td>'+
'</tr></table>'+
'<table width=161  border=0 cellspacing=0 cellpadding=0 ID=Table3>'+
'<tr align=center>'+
'<td width=23><font color=#ff0000>日</font></td><td width=23>一</td><td width=23>二</td><td width=23>三</td><td width=23>四</td><td width=23>五</td><td width=23><font color=green>六</font></td></tr>'+
'<tr><td colspan=7><hr size=1 style="height:1"></td></tr>'+
'</table>'+
'<table width=161  border=0 cellspacing=0 cellpadding=0 onclick="getDate()" ID=tableCal>'+
'<tr align=center height=16><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><tr>'+
'<tr align=center height=16><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><tr>'+
'<tr align=center height=16><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><tr>'+
'<tr align=center height=16><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><tr>'+
'<tr align=center height=16><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><tr>'+
'<tr align=center height=16><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><td width=23></td><tr>'+
'</table>'+
'</td></tr></table></fieldset></div>');

document.body.onclick=Function("checkMyCalMouseStatus()");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -