一个非常精彩的日历程序

yoken 阅读:1210 2007-10-12 23:36:00 评论:0
我们经常需要的一些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> 

转载保留链接!网址:http://80920140.com/post/125.html

标签:春运
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源; 2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任; 3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
关注我们

扫一扫关注我们,了解最新精彩内容