| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1416 人关注过本帖
标题:有谁可以说说用javascript制作日历的原理?
只看楼主 加入收藏
chenyq
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-2-2
收藏
 问题点数:0 回复次数:5 
有谁可以说说用javascript制作日历的原理?
如题!
搜索更多相关主题的帖子: javascript 日历 原理 制作 
2005-02-21 14:15
哈马拟
Rank: 1
等 级:新手上路
帖 子:270
专家分:0
注 册:2004-7-15
收藏
得分:0 

原理?最好自己总结 下面就是个“日历” <html> <head> <title>Calendar</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta content="Microsoft FrontPage 4.0" name="GENERATOR" /> <meta content="FrontPage.Editor.Document" name="ProgId" /> <script language="javascript"> function TOfunc() { TO=window.setTimeout("TOfunc()",1000); var today=new Date(); document.clock.disp.value=today.toLocaleString(); } </script> </head> <body onload="TOfunc()"> <p align="center"> <big><big><big><big>Calendar</big></big></big></big> </p> <p align="right"> <img height="40" src="e:\photo\zu.jpg" width="72" /> </p> <form name="clock"> <div align="center"> <center> <p> <input type="text" size="24" name="disp" /> <br /> </p> </center> </div> </form> <script language="javascript"> function getTime(){ var now=new Date(); var hour=now.getHours(); var minute=now.getMinutes(); now=null; var ampm=""; if (hour>=12) {hour-=12;ampm=""} else { ampm=""} hour=(hour==0)?12:hour; if (minute<10) { minute="0"+minute} return (hour+":"+minute+" "+ampm) }

function leapYear(year){ if (year%4==0) { return true} else { return false} }

function getDays(month,year){ var ar=new Array(12); ar[0]=31; ar[1]=(leapYear(year))?29:28 ; ar[2]=31; ar[3]=30; ar[4]=31; ar[5]=30; ar[6]=31; ar[7]=31; ar[8]=30; ar[9]=31; ar[10]=30; ar[11]=31; return ar[month]; } function getMonthName(month){ var ar=new Array(12); ar[0]="January" ar[1]="February" ar[2]="March" ar[3]="April" ar[4]="May" ar[5]="June" ar[6]="July" ar[7]="August" ar[8]="September" ar[9]="October" ar[10]="November" ar[11]="December" return ar[month]; }

function setCal(){ var now=new Date(); var year=now.getYear(); var month=now.getMonth(); var monthName=getMonthName(month); var date=now.getDate(); now=null; var firstDayInstance=new Date(year,month,1); var firstDay=firstDayInstance.getDay(); firstDayInstance=null; var days=getDays(month,year); drawCal(firstDay+1,days,date,monthName,1900+year); }

function drawCal(firstDay,lastDate,date,monthName,year){ var headerHeight=0; var border=2; var cellspacing=4; var headerColor="midnightblue"; var headerSize="1"; var colWidth=50; var dayColor="darkblue"; var dayCellHeight=10; var cellHeight=20; var todayColor="red"; var timeColor="purple"; var now=new Date(); var year=now.getYear(); var text=""; text +='<center>'; text +='<table border=1'+'cellspacing=0'+'style="font-size:9pt">'; text +='<th colspan=7 height='+headerHeight+'>'; text +=''; text +=year+' '+monthName+' ' text +=''; text +='</th>'; var openCol='<td width='+colWidth+'height='+dayCellHeight+'>'; openCol +='<font color="'+dayColor+'">'; var closeCol='</font></td>'; var weekDay=new Array(7); weekDay[0]="Sunday" weekDay[1]="Monday" weekDay[2]="Tuesday" weekDay[3]="Wednesday" weekDay[4]="Thursday" weekDay[5]="Friday" weekDay[6]="Saturday" text +='<tr align="center" valign="center" style="font-size:9pt">'; for (var dayNum=0;dayNum<7;++dayNum){ text +=openCol+weekDay[dayNum]+closeCol;} text +='</tr>'; var digit=1; var curCell=1; for (var row=1;row<=Math.ceil((lastDate+firstDay-1)/7);++row) { text +='<tr align="right" valign="top" style="font-size:9pt">';

for (var col=1;col<=7;++col) { if (digit>lastDate) break; if (curCell<firstDay) { text +='<td></td>'; curCell++; } else { if (digit==date) { text +='<td height=1>'; text +='<font color="'+todayColor+'">'; text +=digit; text +='</font><br>'; text +='<font color="'+timeColor+' style="font-size=9pt">'; text +='<center>'+getTime()+'</center>';

text +='</font>'; text +='</td>'; } else { text +='<td height='+cellHeight+'>'+digit+'</td>'} digit++; } } text +='</tr>'; } text +='</table>'; text +='</center>'; document.write(text); } </script> <script language="javascript"> setCal(); </script> </body> </html>


2005-02-22 19:13
chenyq
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-2-2
收藏
得分:0 
谢谢!原理不明,看起程序特难,老是有些地方看不明白
2005-02-23 17:05
tianlei
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-2-26
收藏
得分:0 
日历的时间取决与本身的电脑,要制成什么样式的日历取决于你本人 上面的日历是一种形式  你也可制成其他的你想要的形式     具体的你可以自己在 搜索引擎上 搜索关键字 “日历特效”   就可以找到很多制作日历的特效  

叹年光过去 功名未立 书生老去 机会方来
2005-02-26 18:34
chenyq
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-2-2
收藏
得分:0 
很难找到有注释的日历程序,能帮我在上面那个日历加上注释吗?谢谢!
2005-03-01 08:27
mist1214
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-3-1
收藏
得分:0 
太难,看不懂
2005-03-01 09:29
快速回复:有谁可以说说用javascript制作日历的原理?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025514 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved