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

📄 calendar.js

📁 基于struts的网上商店源码
💻 JS
📖 第 1 页 / 共 2 页
字号:
{
	if (strMonth.match(/\D/)!=null) {alert("月份输入参数不是数字!");return;}
	var m = (strMonth) ? strMonth : new Date().getMonth() + 1;
	var s = "<select Author=meizz name=tmpSelectMonth style='font-size: 12px' "
	s += "onblur='document.all.tmpSelectMonthLayer.style.display=\"none\"' "
	s += "onchange='document.all.tmpSelectMonthLayer.style.display=\"none\";"
	s += "parent.meizzTheMonth = this.value; parent.meizzSetDay(parent.meizzTheYear,parent.meizzTheMonth)'>\r\n";
	var selectInnerHTML = s;
	for (var i = 1; i < 13; i++)
	{
		if (i == m) {
			selectInnerHTML += "<option Author=wayx value='"+i+"' selected>"+i+"月"+"</option>\r\n";
		} else {
			selectInnerHTML += "<option Author=wayx value='"+i+"'>"+i+"月"+"</option>\r\n";
		}
	}
	selectInnerHTML += "</select>";
	odatelayer.tmpSelectMonthLayer.style.display="";
	odatelayer.tmpSelectMonthLayer.innerHTML = selectInnerHTML;
	odatelayer.tmpSelectMonth.focus();
}

function closeLayer()               //这个层的关闭
{
	document.all.meizzDateLayer.style.display="none";
}

function IsPinYear(year)            //判断是否闰平年
{
	if (0==year%4&&((year%100!=0)||(year%400==0))) return true;else return false;
}

function GetMonthCount(year,month)  //闰年二月为29天
{
	var c=MonHead[month-1];if((month==2)&&IsPinYear(year)) c++;return c;
}

function GetDOW(day,month,year)     //求某天的星期几
{
	var dt=new Date(year,month-1,day).getDay()/7; return dt;
}

function meizzPrevY()  //往前翻 Year
{
	if(meizzTheYear > 999 && meizzTheYear <10000) {meizzTheYear--;}
	else{alert("年份超出范围(1000-9999)!");}
	meizzSetDay(meizzTheYear,meizzTheMonth);
}

function meizzNextY()  //往后翻 Year
{
	if(meizzTheYear > 999 && meizzTheYear <10000) {meizzTheYear++;}
	else{alert("年份超出范围(1000-9999)!");}
	meizzSetDay(meizzTheYear,meizzTheMonth);
}

function meizzToday()  //Today Button
{
	var today;
	meizzTheYear = new Date().getFullYear();
	meizzTheMonth = new Date().getMonth()+1;
	today=new Date().getDate();
	//meizzSetDay(meizzTheYear,meizzTheMonth);
	if(outObject) {
		outObject.value=meizzTheYear + "-" + meizzTheMonth + "-" + today;
	}
	closeLayer();
}

function meizzPrevM()  //往前翻月份
{
	if(meizzTheMonth>1) {meizzTheMonth--}else{meizzTheYear--;meizzTheMonth=12;}
	meizzSetDay(meizzTheYear,meizzTheMonth);
}

function meizzNextM()  //往后翻月份
{
	if(meizzTheMonth==12) {meizzTheYear++;meizzTheMonth=1}else{meizzTheMonth++}
	meizzSetDay(meizzTheYear,meizzTheMonth);
}

function meizzSetDay(yy,mm)   //主要的写程序**********
{
	meizzWriteHead(yy,mm);
	//设置当前年月的公共变量为传入值
	meizzTheYear=yy;
	meizzTheMonth=mm;
	for (var i = 0; i < 39; i++) {meizzWDay[i]=""};  //将显示框的内容全部清空
	var day1 = 1,day2=1,firstday = new Date(yy,mm-1,1).getDay();  //某月第一天的星期几
	for (i=0;i<firstday;i++) meizzWDay[i]=GetMonthCount(mm==1?yy-1:yy,mm==1?12:mm-1)-firstday+i+1; //上个月的最后几天
	for (i = firstday; day1 < GetMonthCount(yy,mm)+1; i++) {meizzWDay[i]=day1;day1++;}
	for (i=firstday+GetMonthCount(yy,mm);i<39;i++) {meizzWDay[i]=day2;day2++}
	for (i = 0; i < 39; i++) {
		var da = eval("odatelayer.meizzDay"+i)     //书写新的一个月的日期星期排列
		if (meizzWDay[i]!="")
		{ 
			//初始化边框
			da.borderColorLight="#68b3ed";
			da.borderColorDark="#FFFFFF";
			if(i<firstday)  //上个月的部分
			{
				da.innerHTML="<b><font color=gray>" + meizzWDay[i] + "</font></b>";
				da.title=(mm==1?12:mm-1) +"月" + meizzWDay[i] + "日";
				da.onclick=Function("meizzDayClick(this.innerText,-1)");
				if(!outDate) da.style.backgroundColor = ((mm==1?yy-1:yy) == new Date().getFullYear() && (mm==1?12:mm-1) == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate()) ? "#7ecef4":"#e0e0e0";
				else
				{
					da.style.backgroundColor =((mm==1?yy-1:yy)==outDate.getFullYear() && (mm==1?12:mm-1)== outDate.getMonth() + 1 && meizzWDay[i]==outDate.getDate())? "#a1aff5" : (((mm==1?yy-1:yy) == new Date().getFullYear() && (mm==1?12:mm-1) == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate()) ? "#7ecef4":"#e0e0e0");
					//将选中的日期显示为凹下去
					if((mm==1?yy-1:yy)==outDate.getFullYear() && (mm==1?12:mm-1)== outDate.getMonth() + 1 && meizzWDay[i]==outDate.getDate()) {
						da.borderColorLight="#FFFFFF";
						da.borderColorDark="#68b3ed";
					}
				}
			}
			else if (i>=firstday+GetMonthCount(yy,mm))  //下个月的部分
			{
				da.innerHTML="<b><font color=gray>" + meizzWDay[i] + "</font></b>";
				da.title=(mm==12?1:mm+1) +"月" + meizzWDay[i] + "日";
				da.onclick=Function("meizzDayClick(this.innerText,1)");
				if(!outDate)
				da.style.backgroundColor = ((mm==12?yy+1:yy) == new Date().getFullYear() && (mm==12?1:mm+1) == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate()) ? "#7ecef4":"#e0e0e0";
				else
				{
					da.style.backgroundColor =((mm==12?yy+1:yy)==outDate.getFullYear() && (mm==12?1:mm+1)== outDate.getMonth() + 1 && meizzWDay[i]==outDate.getDate())? "#a1aff5" : (((mm==12?yy+1:yy) == new Date().getFullYear() && (mm==12?1:mm+1) == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate()) ? "#7ecef4":"#e0e0e0");
					//将选中的日期显示为凹下去
					if((mm==12?yy+1:yy)==outDate.getFullYear() && (mm==12?1:mm+1)== outDate.getMonth() + 1 && meizzWDay[i]==outDate.getDate())
					{
						da.borderColorLight="#FFFFFF";
						da.borderColorDark="#68b3ed";
					}
				}
			}
			else  //本月的部分
			{
				da.innerHTML="<b>" + meizzWDay[i] + "</b>";
				da.title=mm +"月" + meizzWDay[i] + "日";
				da.onclick=Function("meizzDayClick(this.innerText,0)");  //给td赋予onclick事件的处理
				//如果是当前选择的日期,则显示亮蓝色的背景;如果是当前日期,则显示暗黄色背景
				if(!outDate) da.style.backgroundColor = (yy == new Date().getFullYear() && mm == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate()) ? "#7ecef4":"#e0e0e0";
				else
				{
					da.style.backgroundColor =(yy==outDate.getFullYear() && mm== outDate.getMonth() + 1 && meizzWDay[i]==outDate.getDate())? "#a1aff5":((yy == new Date().getFullYear() && mm == new Date().getMonth()+1 && meizzWDay[i] == new Date().getDate())? "#7ecef4":"#e0e0e0");
					//将选中的日期显示为凹下去
					if(yy==outDate.getFullYear() && mm== outDate.getMonth() + 1 && meizzWDay[i]==outDate.getDate())
					{
						da.borderColorLight="#FFFFFF";
						da.borderColorDark="#68b3ed";
					}
				}
			}
			da.style.cursor="hand"
		}
		else{da.innerHTML="";da.style.backgroundColor="";da.style.cursor="default"}
	}
}

function meizzDayClick(n,ex)  //点击显示框选取日期,主输入函数*************
{
	var yy=meizzTheYear;
	var mm = parseInt(meizzTheMonth)+ex; //ex表示偏移量,用于选择上个月份和下个月份的日期
	//判断月份,并进行对应的处理
	if(mm<1) {
		yy--;
		mm=12+mm;
	}
	else if(mm>12) {
		yy++;
		mm=mm-12;
	}
	if (mm < 10) {mm = "0" + mm;}
	if (outObject)
	{
		if (!n) {//outObject.value=""; 
		return;}
		if ( n < 10) {n = "0" + n;}
		outObject.value= yy + "-" + mm + "-" + n ; //注:在这里你可以输出改成你想要的格式
		closeLayer(); 
	}
	else {closeLayer(); alert("您所要输出的控件对象并不存在!");}
}

function openScript(url, width, height) {
	var Win = window.open(url,"openScript",'width=' + width + ',height=' + height + ',resizable=1,scrollbars=yes,menubar=no,status=yes' );
}

⌨️ 快捷键说明

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