豆腐制作 都是精品 http://www.asp888.net 豆腐技术站
我们经常需要的一些Web项目中用到日历,这样的脚本写起来又麻烦,功能又不够强大,现在豆腐给大家 提供一个功能强大的日历程序,这段脚本使用完全的客户端的js脚本制作,运行速度快。 下面大家就来看看,还有什么需要改进的地方,先看看效果再说吧!日历演示 <HTML> <HEAD> <TITLE>豆腐日历</TITLE> <!-- 请不要删除这段版权信息 --> <!-- 豆腐制作 都是精品 http://www.asp888.net 豆腐技术站 --> <STYLE TYPE="text/css"> .normal{BACKGROUND: #ffffff} .today {font-weight:bold;BACKGROUND: #6699cc} .satday{color:green} .sunday{color:red} .days {font-weight:bold} </STYLE> <SCRIPT LANGUAGE="JavaScript"> //中文月份,如果想显示英文月份,修改下面的注释 /*var months = new Array("January?, "February?, "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");*/ var months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"); var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); //中文周 如果想显示 英文的,修改下面的注释 /*var days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");*/ var days = new Array("日","一", "二", "三", "四", "五", "六"); function getDays(month, year) { //下面的这段代码是判断当前是否是闰年的 if (1 == month) return ((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400) ? 29 : 28; else return daysInMonth[month]; }
function getToday() { //得到今天的年,月,日 this.now = new Date(); this.year = this.now.getFullYear(); this.month = this.now.getMonth(); this.day = this.now.getDate(); }
today = new getToday();
function newCalendar() {
today = new getToday(); var parseYear = parseInt(document.all.year [document.all.year.selectedIndex].text); var newCal = new Date(parseYear, document.all.month.selectedIndex, 1); var day = -1; var startDay = newCal.getDay(); var daily = 0; if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth())) day = today.day; var tableCal = document.all.calendar.tBodies.dayList; var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear()); 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(day==daily) //今天,调用今天的Class cell.className = "today"; else if(intDay==6) //周六 cell.className = "sunday"; else if (intDay==0) //周日 cell.className ="satday"; else //平常 cell.className="normal";
if ((daily > 0) && (daily <= intDaysInMonth)) { cell.innerText = daily; daily++; } else cell.innerText = ""; } }
function getDate() { var sDate; //这段代码处理鼠标点击的情况 if ("TD" == event.srcElement.tagName) if ("" != event.srcElement.innerText) { sDate = document.all.year.value + "年" + document.all.month.value + "月" + event.srcElement.innerText + "日"; alert(sDate); } } </SCRIPT> </HEAD> <BODY ONLOAD="newCalendar()" OnUnload="window.returnValue = document.all.ret.value;"> 豆腐制作,都是精品 <br> <a href="http://www.asp888.net" targer=_blank>豆腐技术站</a>为大家提供最新最好的技术 <input type="hidden" name="ret"> <TABLE ID="calendar" cellspacing="0" cellpadding="0"> <THEAD> <TR> <TD COLSPAN=7 ALIGN=CENTER> <SELECT ID="month" ONCHANGE="newCalendar()"> <SCRIPT LANGUAGE="JavaScript"> for (var intLoop = 0; intLoop < months.length; intLoop++) document.write("<OPTION VALUE= " + (intLoop + 1) + " " + (today.month == intLoop ? "Selected" : "") + ">" + months[intLoop]); </SCRIPT> </SELECT>
<SELECT ID="year" ONCHANGE="newCalendar()"> <SCRIPT LANGUAGE="JavaScript"> for (var intLoop = today.year-50; intLoop < (today.year + 4); intLoop++) document.write("<OPTION VALUE= " + intLoop + " " + (today.year == intLoop ? "Selected" : "") + ">" + intLoop); </SCRIPT> </SELECT> </TD> </TR> <TR CLASS="days"> <SCRIPT LANGUAGE="JavaScript">
document.write("<TD class=satday>" + days[0] + "</TD>"); for (var intLoop = 1; intLoop < days.length-1; intLoop++) document.write("<TD>" + days[intLoop] + "</TD>"); document.write("<TD class=sunday>" + days[intLoop] + "</TD>"); </SCRIPT> </TR> </THEAD> <TBODY border=1 cellspacing="0" cellpadding="0" ID="dayList"ALIGN=CENTER ONCLICK="getDate()"> <SCRIPT LANGUAGE="JavaScript"> for (var intWeeks = 0; intWeeks < 6; intWeeks++) { document.write("<TR style='cursor:hand'>"); for (var intDays = 0; intDays < days.length; intDays++) document.write("<TD></TD>"); document.write("</TR>"); } </SCRIPT> </TBODY> </TABLE> <center><Input Style="width:50pt" type=button value="Cancel" OnClick="Cancel();"></center> </BODY> </HTML>
<Script Language="JavaScript1.2">
function Cancel() { document.all.ret.value = ""; window.close(); }
</script>
|