javascript|控件|日历 该日历控件采用js编写,来自MS的 ,本站整理,希望对大家有用。 td.negDate a padding-left: 4px; padding-right: 4px; } .calendar table border-bottom: solid 1px #366AB3; text-align: center; padding: 0; } .calendar table a color: black; } .calendar td { padding: 4px; font-size: 8pt; font-weight: lighter; } .calendarhd color: #366AB3; text-transform: uppercase; } .calendarDays border-bottom: solid 1px; color: #808080; padding: 0; margin: 0; } .selectedDate { background: orange; } .selectedDate a { color: white !important; } var calendar_DayNames = new Array("日","一","二","三","四","五","六"); var calendar_MonthNames = new Array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"); function showCalendar(targetID, targetURL, dMonth, dYear, dDay) { if(dMonth < 0) { dMonth = 11; dYear--; } if(dMonth > 11) { dMonth = 0; dYear++; } var dNow = new Date(); if(dDay == 90 && dMonth == dNow.getMonth() && dYear == dNow.getYear()) dDay = dNow.getDate(); var dCurFD = new Date(dYear, dMonth, 1); var dGivenDate = new Date(dYear, dMonth, dDay); var dCurrentMonthFirstSunday = dCurFD.getDay(); var dCurrentViewDate = new Date(dCurFD); var iDays = 0; var weekMilliseconds = 1000*60*60*24*7; if(dCurrentMonthFirstSunday > 0) iDays = -dCurrentMonthFirstSunday; var fTrgt = targetURL; while (fTrgt.indexOf("'") >= 0) fTrgt = fTrgt.replace("'", "`"); while (fTrgt.indexOf("`") >= 0) fTrgt = fTrgt.replace("`", "\\'"); var oBuf = '<TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">'; oBuf += '<TR><TD CLASS="calendarhd"><A HREF="javascript:showCalendar(\'' + targetID + "','" + fTrgt + "'," + (dMonth - 1) + ',' + dYear + ',90);"><img src="http://www.webjx.com/htmldata/2006-04-04/Images/leftArrow.gif" border=0 /></A></TD>'; oBuf += '<TD COLSPAN="5" CLASS="calendarhd">' + (calendar_MonthNames[dMonth]) + ' ' + dYear + '</TD>'; oBuf += '<TD CLASS="calendarhd"><A HREF="javascript:showCalendar(\'' + targetID + "','" + fTrgt + "'," + (dMonth + 1) + ',' + dYear + ',90);"><img src="http://www.webjx.com/htmldata/2006-04-04/Images/rightArrow.gif" border=0 /></A></TD></TR>'; oBuf += '<TR class=MsoNormal 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> for(var e=0; e < 7; e++) oBuf += '<TD CLASS="calendarDays">' + calendar_DayNames[e] + '</TD>'; oBuf += '</TR>'; var nextMonthFirstDay = new Date(dYear, dMonth+1, 1); var IsNextMonthFirstDaySunday = nextMonthFirstDay.getDay()==0; for(var iRows=0; iRows < 6; iRows++) { dCurrentMonthDate = new Date(dCurFD.getFullYear(), dCurFD.getMonth(), dCurFD.getDate() + iDays); if(1==1) { if(iRows==5 && dCurrentMonthDate.getMonth() > dCurFD.getMonth()) continue; if(iRows==5 && IsNextMonthFirstDaySunday) continue; oBuf += '<TR CLASS="calendarContent">'; for(var iCols=0; iCols < 7; iCols++) { dCurrentViewDate = new Date(dCurFD.getFullYear(), dCurFD.getMonth(), dCurFD.getDate() + iDays); if((dGivenDate.toDateString() == dCurrentViewDate.toDateString()) && (dDay != 90)) { oBuf += '<TD CLASS="selectedDate">'; } else { if(dCurrentViewDate.getMonth() != dMonth || iDays < 0) { oBuf += '<TD CLASS="negDate">'; } else { oBuf += '<TD CLASS="posDate">'; } } var args; if (targetURL.substr(0,11) == 'javascript:') { args = dCurrentViewDate.valueOf() + ")"; } else { var sep = targetURL.indexOf('?') < 0 ? '?' : '&'; args = sep + 'startDate=' + dCurrentViewDate.getFullYear()+ '-' + (dCurrentViewDate.getMonth()+1) + '-' +dCurrentViewDate.getDate() ; } oBuf += '<A HREF="' + targetURL + args + '">' + dCurrentViewDate.getDate() + '</A></TD>'; iDays++; } oBuf += '</TR>'; } } oBuf += '</TABLE>'; document.getElementById(targetID).innerHTML = oBuf; } <div id="calendar1" class="calendar"></div> <script type="text/javascript"> var dNow = new Date(); showCalendar('calendar1', FileName.aspx', dNow.getMonth(), dNow.getFullYear(), dNow.getDate()) </script>
本程序中需要的两个图片:
Global.css
{
color: #808080;
}
.calendar
{
{
{
{
{Global.js
调用
<LINK href="Global.css" rel="stylesheet">
<script type="text/javascript" src="global.js"></script>
一个很好的日历控件(采用javascript编写)
80酷酷网 80kuku.com