代码如下:
[Ctrl+A 全选 提示:你可先修改部分代码,再点运行代码]
其中用到一个Date.js文件代码如下:
1<!--Hide
2isIE=(document.all?true:false);
3
4functiongetIEPosX(elt){returngetIEPos(elt,"Left");}
5functiongetIEPosY(elt){returngetIEPos(elt,"Top");}
6functiongetIEPos(elt,which){
7iPos=0
8while(elt!=null){
9iPos+=elt["offset"+which]
10elt=elt.offsetParent
11}
12returniPos
13}
14
15functiongetXBrowserRef(eltname){
16return(isIE?document.all[eltname].style:document.layers[eltname]);
17}
18
19functionhideElement(eltname){getXBrowserRef(eltname).visibility='hidden';}
20
21//按不同的浏览器进行处理元件的位置
22functionmoveBy(elt,deltaX,deltaY){
23if(isIE){
24elt.left=elt.pixelLeft+deltaX;
25elt.top=elt.pixelTop+deltaY;
26}else{
27elt.left+=deltaX;
28elt.top+=deltaY;
29}
30}
31
32functiontoggleVisible(eltname){
33elt=getXBrowserRef(eltname);
34if(elt.visibility=='visible'||elt.visibility=='show'){
35elt.visibility='hidden';
36}else{
37fixPosition(eltname);
38elt.visibility='visible';
39}
40}
41
42functionsetPosition(elt,positionername,isPlacedUnder){
43positioner=null;
44if(isIE){
45positioner=document.all[positionername];
46elt.left=getIEPosX(positioner);
47elt.top=getIEPosY(positioner);
48}else{
49positioner=document.images[positionername];
50elt.left=positioner.x;
51elt.top=positioner.y;
52}
53if(isPlacedUnder){moveBy(elt,0,positioner.height);}
54}
55
56
57
58//——————————————————————————————————————
59
60//判断浏览器
61isIE=(document.all?true:false);
62
63//初始月份及各月份天数数组
64varmonths=newArray("一月","二月","三月","四月","五月","六月","七月",
65"八月","九月","十月","十一月","十二月");
66vardaysInMonth=newArray(31,28,31,30,31,30,31,31,
6730,31,30,31);
68vardisplayMonth=newDate().getMonth();
69vardisplayYear=newDate().getFullYear();
70vardisplayDay=0;
71
72vardisplayDivName;
73vardisplayElement;
74
75functiongetDays(month,year){
76//测试选择的年份是否是润年?
77if(1==month)
78return((0==year%4)&&(0!=(year%100)))||
79(0==year%400)?29:28;
80else
81returndaysInMonth[month];
82}
83
84functiongetToday(){
85//得到今天的日期
86this.now=newDate();
87this.year=this.now.getFullYear();
88this.month=this.now.getMonth();
89this.day=this.now.getDate();
90}
91
92//并显示今天这个月份的日历
93today=newgetToday();
94
95functionnewCalendar(eltName,attachedElement){
96if(attachedElement){
97if(displayDivName&&displayDivName!=eltName)hideElement(displayDivName);
98displayElement=attachedElement;
99}
100displayDivName=eltName;
101
102today=newgetToday();
103varparseYear=parseInt(displayYear+'');
104varnewCal=newDate(parseYear,displayMonth,1);
105varday=-1;
106varstartDayOfWeek=newCal.getDay();
107if((today.year==newCal.getFullYear())&&
108(today.month==newCal.getMonth()))
109{
110day=today.day;
111}
112varintDaysInMonth=
113getDays(newCal.getMonth(),newCal.getFullYear());
114vardaysGrid=makeDaysGrid(startDayOfWeek,day,intDaysInMonth,newCal,eltName)
115if(isIE){
116varelt=document.all[eltName];
117elt.innerHTML=daysGrid;
118}else{
119varelt=document.layers[eltName].document;
120elt.open();
121elt.write(daysGrid);
122elt.close();
123}
124}
125
126functionincMonth(delta,eltName){
127displayMonth+=delta;
128if(displayMonth>=12){
129displayMonth=0;
130incYear(1,eltName);
131}elseif(displayMonth<=-1){
132displayMonth=11;
133incYear(-1,eltName);
134}else{
135newCalendar(eltName);
136}
137}
138
139functionincYear(delta,eltName){
140displayYear=parseInt(displayYear+'')+delta;
141newCalendar(eltName);
142}
143
144functionmakeDaysGrid(startDay,day,intDaysInMonth,newCal,eltName){
145vardaysGrid;
146varmonth=newCal.getMonth();
147varyear=newCal.getFullYear();
148varisThisYear=(year==newDate().getFullYear());
149varisThisMonth=(day>-1)
150daysGrid='<tableborder=1cellspacing=0cellpadding=0><tr><td><tableborder=0cellspacing=0cellpadding=2bgcolor=#ffffff><tr><tdcolspan=7bgcolor=#ffffffnowrap>';
151daysGrid+='<atitle="关闭日历"href="javascript:hideElement(\''+eltName+'\')"><Bstyle="color:black;background-color:blue"><fontcolor=white>╳</font></B></a>';
152daysGrid+=' ';
153daysGrid+='<ahref="javascript:incMonth(-1,\''+eltName+'\')">《</a>';
154
155daysGrid+='<b>';
156if(isThisMonth){daysGrid+='<fontcolor=red>'+months[month]+'</font>';}
157else{daysGrid+=months[month];}
158daysGrid+='</b>';
159
160daysGrid+='<ahref="javascript:incMonth(1,\''+eltName+'\')">》</a>';
161if(month<10){daysGrid+=' ';}
162daysGrid+=' ';
163daysGrid+='<ahref="javascript:incYear(-1,\''+eltName+'\')">《</a>';
164
165daysGrid+='<b>';
166if(isThisYear){daysGrid+='<fontcolor=red>'+year+'</font>';}
167else{daysGrid+=''+year;}
168daysGrid+='</b>';
169
170daysGrid+='<ahref="javascript:incYear(1,\''+eltName+'\')">》</a></td></tr>';
171daysGrid+='<tr><tdbgcolor=graycolspan=7></td></tr>';
172daysGrid+='<tr><tdalign=right><fontcolor=red>日</font></td><tdalign=right>一</td><tdalign=right>二</td><tdalign=right>三</td><tdalign=right>四</td><tdalign=right>五</td><tdalign=right><fontcolor=red>六</font></td></tr>';
173daysGrid+='<tr><tdbgcolorcolor: #0
分享到:
相关推荐
一组超酷的日历函数控件,系统环境:pb9.0
一组超酷的日历函数控件一组超一组超酷的日历函数控件酷的日历函数控件一组一组超酷的日历函数控件超酷的日历函数控件一组超酷的日历函数控件
一个实用的日历函数,可以用作签到墙的时候进行生成当前日历.
开发常用到的日历控件,自己整理的,很实用的工具,希望对大家有帮助哦。
Mysql日历创建函数,可得到日期,天、季度、年、周六周末等
之前 文章里面所实际用到的 日历文本 以及原始的 日历数据
可直接用于自己的程序,PB9-8836版本源码。
MONTH()和DATE()等日期函数生成日历.xls
主要介绍了php简单日历函数,没有选择比较常见的用js生成的日历,而是用php输出了一个日历表格,感兴趣的小伙伴们可以参考一下
在jsp 中有许多需要填日期的地方 日期要求格式很严 有个整个 日历之后点击就可以 不必担心格式会出错
一个可以以一定格式显示日历的小程序 使用C++编写 需要用到时间函数
精美日历精美日历精美日历 精美日历精美日历精美日历 精美日历精美日历精美日历精美日历
飞雪日历飞雪日历飞雪日历飞雪日历飞雪日历飞雪日历
日历插件日历插件日历插件日历插件日历插件日历插件日历插件日历插件
MySQL使用什么日历? 全文搜索功能 . 布尔全文搜索 . 全文搜索带查询扩展 . 全文停止字 . 全文限定条件 . 微调MySQL全文搜索 Cast函数和操作符 其他函数 . 位函数 . 加密函数 . 信息函数 . 其他函数 与...
详细请参考驴妈妈 酒店和门票的价格日历。 index.html 入口文件 data.php 包含一个价格日历生成类和 一些实例 product.php ajax产品的json格式 style 样式和js文件 说明: 此程序中js是驴妈妈上的,我做了些修改,...
点击日期输入框时可以显示出日期控件,选择控件当中的某一日期输入框就会出现相应的值;用法见日历控件页面引用方式.txt
jq 双日历插件日历选择器jq 双日历插件日历选择器jq 双日历插件日历选择器jq 双日历插件日历选择器jq 双日历插件日历选择器jq 双日历插件日历选择器jq 双日历插件日历选择器jq 双日历插件日历选择器jq 双日历插件...
使用js + html 实现的简单的网页版日历,顶部默认会显示当前日期和时间,时间会精确到秒,并且时间会实时刷新,日历UI符合主流日历的样式,可以选择年,月,日查看每个月份的每一天对应星期几,默认显示当前日期所在...