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

📄 calendar.js

📁 学生学籍管理系统sql 学生学籍管理系统sql
💻 JS
字号:
var tDate=new Date()
var tYear=tDate.getFullYear();
var tMon=tDate.getMonth()+1;
var tDay=tDate.getDay()
var ttoDay=tDate.getDate()
var strbefore='<table width="16" border="0" cellspacing="0" cellpadding="0"    onMouseDown="this.className=\'down\'" onMouseUp="this.className=\'over\'" height="13"  onClick=addOminuMonth("minu") class=over  title="上一月" bgColor="#dddddd"> <tr align="center" style="cursor:hand"> <td><p style="margin-top: -6"><font style=\'font-family:Webdings;font-size:11px\'>3</font></p></td> </tr> </table>';
var strafter='<table width="16" border="0" cellspacing="0" cellpadding="0"    onMouseDown="this.className=\'down\'" onMouseUp="this.className=\'over\'" height="13"  class=over onClick=addOminuMonth("add")  title="下一月"  bgColor="#dddddd"> <tr align="center" style="cursor:hand"> <td><p style="margin-top: -6"><font style=\'font-family: Webdings;font-size: 11px\'  >4</font></p></td> </tr> </table>'
var sWeek=new Array()
	sWeek[0]=new Array('日','一','二','三','四','五','六')
	sWeek[1]=new Array('星期日','星期一','星期二','星期三','星期四','星期五','星期六')
var sourceYear = tYear;
var sourceMon = tMon;
function addOminuMonth(addOminu)
{	
	event.cancelBubble=true;
	if(addOminu== "add")
	{
		if(parseInt(tMon)+1==13)
		{
			tMon=1;
			tYear=parseInt(tYear)==2099 ? 1900 :parseInt(tYear)+1
		}
		else
			tMon=parseInt(tMon)+1
	}
	else if(addOminu== "minu")
	{
		tMon=parseInt(tMon)-1
		if(tMon==0)
		{
			tMon=12;
			tYear=parseInt(tYear)==1900? 2099 : parseInt(tYear)-1
		}
	}
	delCalBodyTable()
	calWriteDate()
}
function delCalBodyTable()
{
	var rowN=calbodyTb.rows.length
	for(var i=0;i<rowN;i++)
		calbodyTb.deleteRow()
}
function  calWriteDate()
{
		xYear=tYear,xMon=tMon;
	var	calday=new Date(xYear,xMon,0).getDate();
	var	calwee=new Date(xYear,xMon-1,1).getDay();
		wrday=1
	for(var j=0;j<(Math.floor((calday+calwee-1)/7)+2);j++)
	{
		var tRow=calbodyTb.insertRow();
		if(j==0)
				tRow.setAttribute("bgColor","#dddddd")
		for(var i=0;i<7;i++)
		{
			tCell=tRow.insertCell();
			tCell.className ="calcomTd";
			if(wrday==ttoDay && xYear==sourceYear && xMon ==sourceMon)
				tCell.setAttribute("bgColor","#ffcc00")			
			if(j==0)
				tCell.innerHTML=sWeek[0][i];
			if(j==1 && i>=calwee || j>1 && calday >=wrday)
			{			
				tCell.innerHTML=wrday
				tCell.onclick = new Function('getcalvalue('+xYear+','+xMon+','+wrday+','+i+')')
				tCell.onmouseover = new Function("this.className = 'caloverTd'");
				tCell.onmouseout = new Function("this.className = 'calcomTd'");
				tCell.title = xYear+"-"+xMon+"-"+wrday
				wrday++
			}
			else if(j!=0)
			{
				tCell.onmouseover = new Function('this.style.cursor="default"')
				tCell.onclick = new Function('timeDateTableDiv.style.display="none";showDateObject.value=""')
				tCell.title = "关闭日历"
			}
		}
	}
	if(!document.all("selYearObj"))
	{
		selMonOYear(element.document.all("selYearObj"),tYear)
		selMonOYear(element.document.all("selMonObj"),tMon)
	}
	else
	{
		selMonOYear(document.all("selYearObj"),tYear)
		selMonOYear(document.all("selMonObj"),tMon)
	}

}


function selMonOYear(getObj,getValue)
{
	for(var n=0;n<getObj.length;n++)
	{
		if(getObj.options[n].value==getValue)
			getObj[n].selected=true
	}
}
function getcalvalue(iYear,iMon,iday,iweek)
{
	iMon = parseInt(iMon)>9 ? iMon : "0"+iMon
	iday = parseInt(iday)>9 ? iday : "0"+iday
	strcaldate=iYear+"-"+iMon+"-"+iday
	showDateObject.value = strcaldate
}
function showDateDiv()
{
	timeDateTableDiv.style.display = "";
	changeDivPosiCal(timeDateTableDiv,event.x,event.y,dateDivAppendObj)
	showDateObject = event.srcElement;
}
function settime()
{
	if(typeof(timeDateTableDiv)!="object")
		createDateDiv(document.body)
	event.cancelBubble=true;
	showDateDiv();
}
function createDateDiv(appendO)
{
	
	timeDateTableDiv = document.createElement('<div  id="dateMenuDiv" style="display:none;position:absolute;background-color:#000000;border: \'1 solid\';  border-left-color: #eeeeee; border-top-color: #eeeeee; border-bottom-color: #505050; border-right-color: #505050;width:200; height:0px;left: 0px; top: 0px;z-index:8;"   unselectable="On" align="center" ></div>' )
	appendO.insertAdjacentElement("afterBegin",timeDateTableDiv)
	dateDivAppendObj = appendO
	timeDateTableDiv.oncontextmenu= new Function("return false;")
	dateTb = document.createElement('<table  width="100%"   cellspacing="0" cellpadding="0" style="border-collapse:collapse"align="center" bgColor="#ffffff" border=1></table>')
	timeDateTableDiv.appendChild(dateTb)
	dateTrHead = dateTb.insertRow()
	dateTdHead = dateTrHead.insertCell()
	writecalHead(dateTdHead)
	dateTrBody = dateTb.insertRow()
	dateTdBody = dateTrBody.insertCell()
	///dateTdBody.height=100;
	//dateTdBody.valign= "top";
	writecalBody(dateTdBody)
	dragDivMoveCal(timeDateTableDiv,appendO,calheadTableTitle)
	document.body.onclick = new Function('timeDateTableDiv.style.display="none"')
}
function writecalHead(appendO)
{		
	var strhead=document.createElement('<table id="calheadTableTitle" width="100%"   cellspacing="0" cellpadding="0" align="center" class="queryTable"></table>')
		appendO.appendChild(strhead)
	var headrow=strhead.insertRow()
		headrow.height=25
	for(var i=0;i<3;i++)
	{
		headcell=headrow.insertCell()
		headcell.align="center"
		if(i==0)
		{
			headcell.innerHTML=strbefore
			headcell.width="24"
		}
		if(i==1)
			showSelCalMon(headcell)
		if(i==2)
		{
			headcell.innerHTML=strafter
			headcell.width="24"
		}
	}
}
function writecalBody(appendO)
{
		calbodyTb=document.createElement('<table id="calbodyTable" width="100%"    cellspacing="0" cellpadding="0"  align="center"></table>')
		appendO.appendChild(calbodyTb)
		calWriteDate()	
}
function createSel(formV,toV,yearOmon)
{
	var selSstr
	if(yearOmon == 'year')
		selSstr ='<select id=selYearObj  onChange=selectYearOMon(this,"'+yearOmon+'") onclick="selCancelBubble()" style="width:60;position:absolute;clip:rect(1 43 20 1);top:0;background-color:#336699">'
	else
		selSstr='<select  id=selMonObj onChange=selectYearOMon(this,"'+yearOmon+'") onclick="selCancelBubble()"  style="width:50;position:absolute;clip:rect(1 33 20 1);top:0;background-color:#336699">'
	
	for( m=formV;m<toV;m++)
		selSstr +='<option value='+ m + ' style="color:#000000;background-color:#eeeeee">'+m+ '</option>'
	selSstr+='</select>';
	return selSstr;
}
function selCancelBubble()
{
	event.cancelBubble=true;
}
function showSelCalMon(appendO)
{
	var tbStr = '<table align=center height=20   cellspacing="0" cellpadding="0" ><tr>'
				+'<td  width=40  style="position:relative;">'
				+ createSel(1900,2100,'year')
				+'</td><td width=30 align="center" style="color:#ffffff"> 年 </td>'
				+'<td  width=30  style="position:relative;">'
				+ createSel(1,13,'month')
				+'</td><td width=30 align="center" style="color:#ffffff">  月 </td>';
	appendO.innerHTML = tbStr
}
function selectYearOMon(getObj,yearOmon)
{
	if(yearOmon == "year")
		tYear=getObj.options[getObj.selectedIndex].value;	
	else if(yearOmon == "month")
		tMon=getObj.options[getObj.selectedIndex].value;	
	delCalBodyTable()
	calWriteDate()
}
	

function dragDivMoveCal(divObj,appendObj,eventObj)
{
	eventObj.onclick = new Function("event.cancelBubble=true;")
	var dragapproved=false;
	var x=y=0;
	eventObj.onmousedown = function()
	{
		if(event.button != 1) 
			return false
		dragapproved=true;
		x=event.x;
		y=event.y;
		
		eventObj.onmousemove=function()
		{
			if(event.button==1 && dragapproved)
			{
				var sx=divObj.style.posLeft+event.x-x;
				var sy=divObj.style.posTop +event.y-y;
				x=event.x;
				y=event.y;
				changeDivPosiCal(divObj,sx,sy,appendObj)
			}
			eventObj.style.cursor="move"
			return false
		}
	}
}

function changeDivPosiCal(divO,posiX,posiY,appendO)
{
	bodyH = appendO.offsetHeight + parseInt(document.body.scrollTop)
	bodyW = appendO.offsetWidth + parseInt(document.body.scrollLeft)
	if(posiX<0)
		divO.style.posLeft = 0
	else if(posiX+divO.offsetWidth<bodyW)
	{
		divO.style.posLeft = posiX+ parseInt(document.body.scrollLeft)
	}
	else
		divO.style.posLeft = appendO.offsetWidth-divO.offsetWidth
	if(posiY<0)
		divO.style.posTop = 0
	else if(posiY+divO.offsetHeight<bodyH)
	{
		divO.style.posTop = posiY+ parseInt(document.body.scrollTop);
	}
	else
		divO.style.posTop = bodyH-divO.offsetHeight

}

⌨️ 快捷键说明

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