JavaScript实用漂亮组件集合--(不断更新中……………………)

一个不错的日历:

 

< Script LANGUAGE = " JavaScript " >
 
var  months  =   new  Array( " " " " " " , " " " " " " " " " " " " , " " " 十一 " " 十二 " );
 
var  daysInMonth  =   new  Array( 31 28 31 30 31 30 31 31 , 30 31 30 31 );
 
var  days  =   new  Array( " " , " " " " " " , " " " " " " );
 
var  classTemp;
 
var  today = new  getToday();
 
var  year = today.year;
 
var  month = today.month;
 
var  newCal;

 
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();
 }


 
function  Calendar()  {
  newCal 
= new Date(year,month,1);
  today 
= new getToday();   
  
var day = -1;
  
var startDay = newCal.getDay();
  
var endDay=getDays(newCal.getMonth(), newCal.getFullYear());
  
var daily = 0;
  
if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth()))
  
{
   day 
= today.day;
  }

  
var caltable = document.all.caltable.tBodies.calendar;
  
var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());

  
for (var intWeek = 0; intWeek < caltable.rows.length;intWeek++)
   
for (var intDay = 0;intDay < caltable.rows[intWeek].cells.length;intDay++)
   
{
    
var cell = caltable.rows[intWeek].cells[intDay];
    
var montemp=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1);         
    
if ((intDay == startDay) && (0 == daily)){ daily = 1;}
    
var daytemp=daily<10?("0"+daily):(daily);
    
var d="<"+newCal.getFullYear()+"-"+montemp+"-"+daytemp+">";
    
if(day==daily) cell.className="DayNow";
    
else if(intDay==6) cell.className = "DaySat";
    
else if (intDay==0) cell.className ="DaySun";
    
else cell.className="Day";
    
if ((daily > 0&& (daily <= intDaysInMonth))
    
{
     cell.innerText 
= daily;
     daily
++;
    }
 else
    
{
     cell.className
="CalendarTD";
     cell.innerText 
= "";
    }

  }

  document.all.year.value
=year;
  document.all.month.value
=month+1;
 }


 
function  subMonth()
 
{
  
if ((month-1)<0)
  
{
   month
=11;
   year
=year-1;
  }
 else
  
{
   month
=month-1;
  }

  Calendar();
 }


 
function  addMonth()
 
{
  
if((month+1)>11)
  
{
   month
=0;
   year
=year+1;
  }
 else
  
{
   month
=month+1;
  }

  Calendar();
 }


 
function  setDate() 
 
{
  
if (document.all.month.value<1||document.all.month.value>12)
  
{
   alert(
"月的有效范围在1-12之间!");
   
return;
  }

  year
=Math.ceil(document.all.year.value);
  month
=Math.ceil(document.all.month.value-1);
  Calendar();
 }

</ Script >

< Script >
function  buttonOver()
{
 
var obj = window.event.srcElement;
 obj.runtimeStyle.cssText 
= "background-color:#FFFFFF";
// obj.className="Hover";
}


function  buttonOut()
{
 
var obj = window.event.srcElement;
 window.setTimeout(
function(){obj.runtimeStyle.cssText = "";},300);
}

</ Script >

< Style >
Input 
{font-family: verdana;font-size: 9pt;text-decoration: none;background-color: #FFFFFF;height: 20px;border: 1px solid #666666;color:#000000;}

.Calendar 
{font-family: verdana;text-decoration: none;width: 170;background-color: #C0D0E8;font-size: 9pt;border:0px dotted #1C6FA5;}
.CalendarTD 
{font-family: verdana;font-size: 7pt;color: #000000;background-color:#f6f6f6;height: 20px;width:11%;text-align: center;}

.Title 
{font-family: verdana;font-size: 11pt;font-weight: normal;height: 24px;text-align: center;color: #333333;text-decoration: none;background-color: #A4B9D7;border-top-width: 1px;border-right-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-bottom-style:1px;border-top-color: #999999;border-right-color: #999999;border-bottom-color: #999999;border-left-color: #999999;}

.Day 
{font-family: verdana;font-size: 7pt;color:#243F65;background-color: #E5E9F2;height: 20px;width:11%;text-align: center;}
.DaySat 
{font-family: verdana;font-size: 7pt;color:#FF0000;text-decoration: none;background-color:#E5E9F2;text-align: center;height: 18px;width: 12%;}
.DaySun 
{font-family: verdana;font-size: 7pt;color: #FF0000;text-decoration: none;background-color:#E5E9F2;text-align: center;height: 18px;width: 12%;}
.DayNow 
{font-family: verdana;font-size: 7pt;font-weight: bold;color: #000000;background-color: #FFFFFF;height: 20px;text-align: center;}

.DayTitle 
{font-family: verdana;font-size: 9pt;color: #000000;background-color: #C0D0E8;height: 20px;width:11%;text-align: center;}
.DaySatTitle 
{font-family: verdana;font-size: 9pt;color:#FF0000;text-decoration: none;background-color:#C0D0E8;text-align: center;height: 20px;width: 12%;}
.DaySunTitle 
{font-family: verdana;font-size: 9pt;color: #FF0000;text-decoration: none;background-color: #C0D0E8;text-align: center;height: 20px;width: 12%;}

.DayButton 
{font-family: Webdings;font-size: 9pt;font-weight: bold;color: #243F65;cursor:hand;text-decoration: none;}

</ Style >


< table border = " 0 "  cellpadding = " 0 "  cellspacing = " 1 "  class = " Calendar "  id = " caltable " >
< thead >
     
< tr align = " center "  valign = " middle " >  
  
< td colspan = " 7 "  class = " Title " >
   
< a href = " javaScript:subMonth(); "  title = " 上一月 "  Class = " DayButton " > 3 </ a >   < input name = " year "  type = " text "  size = " 4 "  maxlength = " 4 "  onkeydown = " if (event.keyCode==13){setDate()} "  onkeyup = " this.value=this.value.replace(/[^0-9]/g,'') "   onpaste = " this.value=this.value.replace(/[^0-9]/g,'') " >  年  < input name = " month "  type = " text "  size = " 1 "  maxlength = " 2 "  onkeydown = " if (event.keyCode==13){setDate()} "  onkeyup = " this.value=this.value.replace(/[^0-9]/g,'') "   onpaste = " this.value=this.value.replace(/[^0-9]/g,'') " >  月  < a href = " JavaScript:addMonth(); "  title = " 下一月 "  Class = " DayButton " > 4 </ a >
  
</ td >
 
</ tr >
 
< tr align = " center "  valign = " middle " >  
  
< Script LANGUAGE = " JavaScript " >   
   document.write(
" <TD class=DaySunTitle id=diary > "   +  days[ 0 +   " </TD> " ); 
   
for  ( var  intLoop  =   1 ; intLoop  <  days.length - 1 ;intLoop ++
    document.write(
" <TD class=DayTitle id=diary> "   +  days[intLoop]  +   " </TD> " ); 
    document.write(
" <TD class=DaySatTitle id=diary> "   +  days[intLoop]  +   " </TD> " ); 
  
</ Script >
 
</ TR >  
</ thead >
< TBODY border = 1  cellspacing = " 0 "  cellpadding = " 0 "  ID = " calendar "  ALIGN = CENTER ONCLICK = " getDiary() " >
 
< 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 class=CalendarTD onMouseover='buttonOver();' onMouseOut='buttonOut();'></TD>");
   document.write(
"</TR>");
  }
 
 
</ Script >
</ TBODY >
</ TABLE >
< Script  LANGUAGE = " JavaScript " >
 Calendar();
</ Script >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值