ctrl12
版主
  
UID 478
精华
0
积分 1033
帖子 1033
阅读权限 100
注册 2002-9-28
状态 离线
|
给大家发一个自己写的js的日历
<style>
.today{border : thin solid red;background-color:blue;color : #fff }
.day{background-color:blue;color : #fff}
table{font:icon}
input{BORDER:blue 1px outset;background-color:#9999FF;cursor:hand;TEXT-ALIGN:center;}
</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 weeks = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");*/
var weeks = new Array("星期日","星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
//获得润年的月份
function GetRunYear(year,month)
{
if(month==0)
{
month =12;
}else if(month == (-1))
{
month = 11;
}
if(1== month-1)
{
return ((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400) ? 29 : 28;
}
else
{
return daysInMonth[month-1]
}
}
function GetToDay()
{
this.now = new Date();
this.year = this.now.getFullYear();
this.month = this.now.getMonth()+1;
this.day = this.now.getDate();
}
today = new GetToDay();
GetMonth=today.month;
GetYear = today.year;
function CYear(flag)
{
flag==1?num=1:num=(-1);
GetYear = GetYear + num;
ShowFarmtDate(GetYear,GetMonth)
}
function CMonth(flag)//0向前,1:向后
{
flag==1?num=1:num=(-1);
GetMonth =GetMonth + num;
if(GetMonth == 0 || GetMonth==13)
{
if(flag==1)
{
GetMonth=1;
GetYear = GetYear+1;
}
else
{
GetMonth = 12;
GetYear = GetYear-1;
}
}
ShowFarmtDate(GetYear,GetMonth)
}
function newCalendar(year,month)
{
today = new GetToDay();
var parseYear = parseInt(year);
var newCal = new Date(parseYear, month-1, 1);
var day = -1;
var Hday = -1;
var ADay = 1;
var startDay = newCal.getDay();
var daily = 0;
if ((today.year == newCal.getFullYear()) &&(today.month == month))
day = today.day;
Hday = parseInt(today.day);
var tableCal = document.all.calendar.tBodies.dayList;
var intDaysInMonth =GetRunYear(parseYear,month);
var LastDaysInMonth = GetRunYear(parseYear,newCal.getMonth() );
var LastDays = parseInt(LastDaysInMonth) - parseInt(startDay);
var AfterDays = intDaysInMonth;
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(Hday==daily)
//周六
cell.className = "day";
else if (intDay==0)
//周日
cell.className ="satday";
else
//平常
cell.className="normal";
if ((daily > 0) && (daily <= intDaysInMonth))
{
cell.innerText = daily;
daily++;
}
else if(daily == 0)
{
LastDays++;
cell.innerHTML ="<font color='#c0c0c0'>"+ LastDays+"</font>";
}
else if(daily > intDaysInMonth)
{
cell.innerHTML ="<font color='#c0c0c0'>"+ ADay+"</font>";
ADay++;
}
}
}
function ShowFarmtDate(year,month)
{
document.getElementById("TopDate").innerHTML="<font style='font-weight :bold ;color:#fff'>"+year+"年"+months[month-1]+"月</font>";
document.getElementById("aa").innerHTML=ShowDate();
newCalendar(year,month);
}
function showDate(o)
{
alert(o.innerText);
}
function ShowDate()
{
var strDate;
//strDate+="<input type='hidden' name='ret'>";
strDate ="<table id='calendar' cellspacing='0' cellpadding='0' >";
//日历体部分--开始
strDate+="<tr CLASS='days' style='padding-left:2px;padding-right:2px;'>";
strDate+="<td class=satday>" + weeks[0] + "</td>";
for (var intLoop = 1; intLoop < weeks.length-1; intLoop++)
strDate+="<td>" + weeks[intLoop] + "</td>";
strDate+="<td class=sunday>" + weeks[intLoop] + "</td>";
strDate+="</tr>";
strDate+="<tr ><td colspan='7'><div style='border-style:solid;'></div></td></tr>";
strDate+="<tbody border=1 cellspacing='0' cellpadding='0' ID='dayList' ALIGN=CENTER > ";
for (var intWeeks = 0; intWeeks < 6; intWeeks++)
{
strDate+="<tr style='cursor:hand'>";
for (var intDays = 0; intDays < weeks.length; intDays++)
strDate+="<td onclick='showDate(this);'></td>";
strDate+="</tr>";
}
strDate+="</tbody></table> ";
return strDate;
}
</script>
<div style=" background-color:blue "><input type="button" id="GoDate" value="<<" onclick="javascript:CYear(0)"> <input type="button" id="GoMonth" value="<" onclick="javascript:CMonth(0)"> <div id="TopDate" style="text-align:center;position:absolute "></div> <input type="button" id="BackMonth" value=">" onclick="javascript:CMonth(1)"> <input type="button" id="BackDate" value=">>" onclick="javascript:CYear(1)"></div>
<div id="aa"></div>
<script language="javascript">ShowFarmtDate(new Date().getFullYear(),new Date().getMonth()+1);</script>
<table><tr><td style="border : thin solid red;width:35px;HEIGHT:1px"> </td><td><strong>今天:<script language="javascript">document.write(new Date().getFullYear()+" - "+new Date().getMonth()+" - "+new Date().getDate());</script> </strong></td></tr></table> 过段时间将作成.net控件,发布出来
效果和window的一样
|
|