雨伞 CSDN专栏
要挑战别人,先挑战自己
登录
注册
全站
当前博客
空间
博客
好友
相册
留言
WanTianwen
WanTianwen的公告
欢迎访问:
雨伞 CSDN专栏
最近评论
agjyfm:
wow gold
lynx1111:
写得不错。支持!
请参考: http://www.mydwbi.com
lss133:
我来给你加人气啦!o(∩_∩)o...哈哈
WanTianwen:
呵呵,大家共同努力!
virusplayer:
链接到你了,哈哈,大家共同努力吧
文章分类
Ajax JavaScript
(RSS)
Asp.Net
(RSS)
php
(RSS)
SQL
(RSS)
采集
(RSS)
技巧,知识
(RSS)
学习笔记
(RSS)
收藏
相册
我的相册
推荐博客
Hao-space 51CTO技术博客
virusswb软件设计开发
(RSS)
专注.Net
(RSS)
天轰穿.net/vs2005/ajax入门
(RSS)
张友善-51CTO技术博客
思海-Baidu
清清月儿 .NET万花筒
(RSS)
友情链接
SVN源代码托管服务
(RSS)
中博社区
哈客中国
杭州免费建站
杭州广告标识
杭州服装批发
杭州网站建设
板子和PHP
(RSS)
翠竹
衣批网
存档
2008年07月(2)
2008年05月(4)
2008年04月(18)
订阅我的博客
「JavaScript」梅花雪日历控件3.0-直接复制代码保存为html格式即可运行
收藏
新一篇: 「JavaScript」三维立体-图片相册效果 [不看后悔一辈子]
|
旧一篇: 「技巧」Visual Studio 2005 快捷键汇总
<
script
language
=javascript
>
...
<!--
document.write(
"
<div id=meizzCalendarLayer style='position: absolute; z-index: 9999; width: 144; height: 193; display: none'>
"
);
document.write(
"
<iframe name=meizzCalendarIframe scrolling=no frameborder=0 width=100% height=100%></iframe></div>
"
);
function
writeIframe()
...
{
var
strIframe
=
"
<html><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312'><style>
"
+
"
*{font-size: 12px; font-family: 宋体}
"
+
"
.bg{ color:
"
+
WebCalendar.lightColor
+
"
; cursor: default; background-color:
"
+
WebCalendar.darkColor
+
"
;}
"
+
"
table#tableMain{ width: 142; height: 180;}
"
+
"
table#tableWeek td{ color:
"
+
WebCalendar.lightColor
+
"
;}
"
+
"
table#tableDay td{ font-weight: bold;}
"
+
"
td#meizzYearHead, td#meizzYearMonth{color:
"
+
parent.WebCalendar.wordColor
+
"
}
"
+
"
.out { text-align: center; border-top: 1px solid
"
+
WebCalendar.DarkBorder
+
"
; border-left: 1px solid
"
+
WebCalendar.DarkBorder
+
"
;
"
+
"
border-right: 1px solid
"
+
WebCalendar.lightColor
+
"
; border-bottom: 1px solid
"
+
WebCalendar.lightColor
+
"
;}
"
+
"
.over{ text-align: center; border-top: 1px solid #FFFFFF; border-left: 1px solid #FFFFFF;
"
+
"
border-bottom: 1px solid
"
+
WebCalendar.DarkBorder
+
"
; border-right: 1px solid
"
+
WebCalendar.DarkBorder
+
"
}
"
+
"
input{ border: 1px solid
"
+
WebCalendar.darkColor
+
"
; padding-top: 1px; height: 18; cursor: hand;
"
+
"
color:
"
+
WebCalendar.wordColor
+
"
; background-color:
"
+
WebCalendar.btnBgColor
+
"
}
"
+
"
</style></head><body onselectstart='return false' style='margin: 0px' oncontextmenu='return false'><form name=meizz>
"
;
if
(WebCalendar.drag)
...
{ strIframe
+=
"
<scr
"
+
"
ipt language=javascript>
"
+
"
var drag=false, cx=0, cy=0, o = parent.WebCalendar.calendar; function document.onmousemove(){
"
+
"
if(parent.WebCalendar.drag && drag){if(o.style.left=='')o.style.left=0; if(o.style.top=='')o.style.top=0;
"
+
"
o.style.left = parseInt(o.style.left) + window.event.clientX-cx;
"
+
"
o.style.top = parseInt(o.style.top) + window.event.clientY-cy;}}
"
+
"
function document.onkeydown(){ switch(window.event.keyCode){ case 27 : parent.hiddenCalendar(); break;
"
+
"
case 37 : parent.prevM(); break; case 38 : parent.prevY(); break; case 39 : parent.nextM(); break; case 40 : parent.nextY(); break;
"
+
"
case 84 : document.forms[0].today.click(); break;} window.event.keyCode = 0; window.event.returnValue= false;}
"
+
"
function dragStart(){cx=window.event.clientX; cy=window.event.clientY; drag=true;}</scr
"
+
"
ipt>
"
}
strIframe
+=
"
<select name=tmpYearSelect onblur='parent.hiddenSelect(this)' style='z-index:1;position:absolute;top:3;left:18;display:none'
"
+
"
onchange='parent.WebCalendar.thisYear =this.value; parent.hiddenSelect(this); parent.writeCalendar();'></select>
"
+
"
<select name=tmpMonthSelect onblur='parent.hiddenSelect(this)' style='z-index:1; position:absolute;top:3;left:74;display:none'
"
+
"
onchange='parent.WebCalendar.thisMonth=this.value; parent.hiddenSelect(this); parent.writeCalendar();'></select>
"
+
"
<table id=tableMain class=bg border=0 cellspacing=2 cellpadding=0>
"
+
"
<tr><td width=140 height=19 bgcolor='
"
+
WebCalendar.lightColor
+
"
'>
"
+
"
<table width=140 id=tableHead border=0 cellspacing=1 cellpadding=0><tr align=center>
"
+
"
<td width=15 height=19 class=bg title='向前翻 1 月 快捷键:←' style='cursor: hand' onclick='parent.prevM()'><b><</b></td>
"
+
"
<td width=60 id=meizzYearHead title='点击此处选择年份' onclick='parent.funYearSelect(parseInt(this.innerText, 10))'
"
+
"
onmouseover='this.bgColor=parent.WebCalendar.darkColor; this.style.color=parent.WebCalendar.lightColor'
"
+
"
onmouseout='this.bgColor=parent.WebCalendar.lightColor; this.style.color=parent.WebCalendar.wordColor'></td>
"
+
"
<td width=50 id=meizzYearMonth title='点击此处选择月份' onclick='parent.funMonthSelect(parseInt(this.innerText, 10))'
"
+
"
onmouseover='this.bgColor=parent.WebCalendar.darkColor; this.style.color=parent.WebCalendar.lightColor'
"
+
"
onmouseout='this.bgColor=parent.WebCalendar.lightColor; this.style.color=parent.WebCalendar.wordColor'></td>
"
+
"
<td width=15 class=bg title='向后翻 1 月 快捷键:→' onclick='parent.nextM()' style='cursor: hand'><b>></b></td></tr></table>
"
+
"
</td></tr><tr><td height=20><table id=tableWeek border=1 width=140 cellpadding=0 cellspacing=0
"
;
if
(WebCalendar.drag)
...
{strIframe
+=
"
onmousedown='dragStart()' onmouseup='drag=false' onmouseout='drag=false'
"
;}
strIframe
+=
"
borderColorLight='
"
+
WebCalendar.darkColor
+
"
' borderColorDark='
"
+
WebCalendar.lightColor
+
"
'>
"
+
"
<tr align=center><td height=20>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr></table>
"
+
"
</td></tr><tr><td valign=top width=140 bgcolor='
"
+
WebCalendar.lightColor
+
"
'>
"
+
"
<table id=tableDay height=120 width=140 border=0 cellspacing=1 cellpadding=0>
"
;
for
(
var
x
=
0
; x
<
5
; x
++
)
...
{ strIframe
+=
"
<tr>
"
;
for
(
var
y
=
0
; y
<
7
; y
++
) strIframe
+=
"
<td class=out id='meizzDay
"
+
(x
*
7
+
y)
+
"
'></td>
"
; strIframe
+=
"
</tr>
"
;}
strIframe
+=
"
<tr>
"
;
for
(
var
x
=
35
; x
<
39
; x
++
) strIframe
+=
"
<td class=out id='meizzDay
"
+
x
+
"
'></td>
"
;
strIframe
+=
"
<td colspan=3 class=out title='
"
+
WebCalendar.regInfo
+
"
'><input style=' background-color:
"
+
WebCalendar.btnBgColor
+
"
;cursor: hand; padding-top: 4px; width: 100%; height: 100%; border: 0' onfocus='this.blur()'
"
+
"
type=button value=' 关闭' onclick='parent.hiddenCalendar()'></td></tr></table>
"
+
"
</td></tr><tr><td height=20 width=140 bgcolor='
"
+
WebCalendar.lightColor
+
"
'>
"
+
"
<table border=0 cellpadding=1 cellspacing=0 width=140>
"
+
"
<tr><td><input name=prevYear title='向前翻 1 年 快捷键:↑' onclick='parent.prevY()' type=button value='<<'
"
+
"
onfocus='this.blur()' style='meizz:expression(this.disabled=parent.WebCalendar.thisYear==1000)'><input
"
+
"
onfocus='this.blur()' name=prevMonth title='向前翻 1 月 快捷键:←' onclick='parent.prevM()' type=button value='< '>
"
+
"
</td><td align=center><input name=today type=button value='Today' onfocus='this.blur()' style='width: 50' title='当前日期 快捷键:T'
"
+
"
onclick="parent.returnDate(new Date().getDate() +'/'+ (new Date().getMonth() +1) +'/'+ new Date().getFullYear())">
"
+
"
</td><td align=right><input title='向后翻 1 月 快捷键:→' name=nextMonth onclick='parent.nextM()' type=button value=' >'
"
+
"
onfocus='this.blur()'><input name=nextYear title='向后翻 1 年 快捷键:↓' onclick='parent.nextY()' type=button value='>>'
"
+
"
onfocus='this.blur()' style='meizz:expression(this.disabled=parent.WebCalendar.thisYear==9999)'></td></tr></table>
"
+
"
</td></tr><table></form></body></html>
"
;
with
(WebCalendar.iframe)
...
{
document.writeln(strIframe); document.close();
for
(
var
i
=
0
; i
<
39
; i
++
)
...
{
WebCalendar.dayObj[i]
=
eval(
"
meizzDay
"
+
i);
WebCalendar.dayObj[i].onmouseover
=
dayMouseOver;
WebCalendar.dayObj[i].onmouseout
=
dayMouseOut;
WebCalendar.dayObj[i].onclick
=
returnDate;
}
}
}
function
WebCalendar()
//
初始化日历的设置
...
{
this
.regInfo
=
"
WEB Calendar ver 3.0 作者:meizz(梅花雪疏影横斜) 网站:http://www.meizz.com/ 关闭的快捷键:[Esc]
"
;
this
.regInfo
+=
"
Ver 2.0:walkingpoison(水晶龙) Ver 1.0:meizz(梅花雪疏影横斜)
"
;
this
.daysMonth
=
new
Array(
31
,
28
,
31
,
30
,
31
,
30
,
31
,
31
,
30
,
31
,
30
,
31
);
this
.day
=
new
Array(
39
);
//
定义日历展示用的数组
this
.dayObj
=
new
Array(
39
);
//
定义日期展示控件数组
this
.dateStyle
=
null
;
//
保存格式化后日期数组
this
.objExport
=
null
;
//
日历回传的显示控件
this
.eventSrc
=
null
;
//
日历显示的触发控件
this
.inputDate
=
null
;
//
转化外的输入的日期(d/m/yyyy)
this
.thisYear
=
new
Date().getFullYear();
//
定义年的变量的初始值
this
.thisMonth
=
new
Date().getMonth()
+
1
;
//
定义月的变量的初始值
this
.thisDay
=
new
Date().getDate();
//
定义日的变量的初始值
this
.today
=
this
.thisDay
+
"
/
"
+
this
.thisMonth
+
"
/
"
+
this
.thisYear;
//
今天(d/m/yyyy)
this
.iframe
=
window.frames(
"
meizzCalendarIframe
"
);
//
日历的 iframe 载体
this
.calendar
=
getObjectById(
"
meizzCalendarLayer
"
);
//
日历的层
this
.dateReg
=
""
;
//
日历格式验证的正则式
this
.yearFall
=
50
;
//
定义年下拉框的年差值
this
.format
=
"
yyyy-mm-dd
"
;
//
回传日期的格式
this
.timeShow
=
false
;
//
是否返回时间
this
.drag
=
true
;
//
是否允许拖动
this
.darkColor
=
"
#0000D0
"
;
//
控件的暗色
this
.lightColor
=
"
#FFFFFF
"
;
//
控件的亮色
this
.btnBgColor
=
"
#E6E6FA
"
;
//
控件的按钮背景色
this
.wordColor
=
"
#000080
"
;
//
控件的文字颜色
this
.wordDark
=
"
#DCDCDC
"
;
//
控件的暗文字颜色
this
.dayBgColor
=
"
#F5F5FA
"
;
//
日期数字背景色
this
.todayColor
=
"
#FF0000
"
;
//
今天在日历上的标示背景色
this
.DarkBorder
=
"
#D4D0C8
"
;
//
日期显示的立体表达色
}
var
WebCalendar
=
new
WebCalendar();
function
calendar()
//
主调函数
...
{
var
e
=
window.event.srcElement; writeIframe();
var
o
=
WebCalendar.calendar.style; WebCalendar.eventSrc
=
e;
if
(arguments.length
==
0
) WebCalendar.objExport
=
e;
else
WebCalendar.objExport
=
eval(arguments[
0
]);
WebCalendar.iframe.tableWeek.style.cursor
=
WebCalendar.drag
?
"
move
"
:
"
default
"
;
var
t
=
e.offsetTop, h
=
e.clientHeight, l
=
e.offsetLeft, p
=
e.type;
while
(e
=
e.offsetParent)
...
{t
+=
e.offsetTop; l
+=
e.offsetLeft;}
o.display
=
""
; WebCalendar.iframe.document.body.focus();
var
cw
=
WebCalendar.calendar.clientWidth, ch
=
WebCalendar.calendar.clientHeight;
var
dw
=
document.body.clientWidth, dl
=
document.body.scrollLeft, dt
=
document.body.scrollTop;
if
(document.body.clientHeight
+
dt
-
t
-
h
>=
ch) o.top
=
(p
==
"
image
"
)
?
t
+
h : t
+
h
+
6
;
else
o.top
=
(t
-
dt
<
ch)
?
((p
==
"
image
"
)
?
t
+
h : t
+
h
+
6
) : t
-
ch;
if
(dw
+
dl
-
l
>=
cw) o.left
=
l;
else
o.left
=
(dw
>=
cw)
?
dw
-
cw
+
dl : dl;
if
(
!
WebCalendar.timeShow) WebCalendar.dateReg
=
/^
(d
...
{
1
,
4
}
)(
-|
/
)(d
...
{
1
,
2
}
)
2
(d
...
{
1
,
2
}
)$
/
;
else
WebCalendar.dateReg
=
/^
(d
...
{
1
,
4
}
)(
-|
/
)(d